Search in sources :

Example 6 with TypingStrategy

use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.

the class ParameterizedTypeRefImpl method isDefSiteStructuralTyping.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public boolean isDefSiteStructuralTyping() {
    Type _declaredType = this.getDeclaredType();
    if ((_declaredType instanceof TN4Classifier)) {
        Type _declaredType_1 = this.getDeclaredType();
        TypingStrategy _typingStrategy = ((TN4Classifier) _declaredType_1).getTypingStrategy();
        return (_typingStrategy == TypingStrategy.STRUCTURAL);
    }
    Type _declaredType_2 = this.getDeclaredType();
    if ((_declaredType_2 instanceof TStructuralType)) {
        return true;
    }
    return false;
}
Also used : TypingStrategy(org.eclipse.n4js.ts.types.TypingStrategy) Type(org.eclipse.n4js.ts.types.Type) TStructuralType(org.eclipse.n4js.ts.types.TStructuralType) TN4Classifier(org.eclipse.n4js.ts.types.TN4Classifier) TStructuralType(org.eclipse.n4js.ts.types.TStructuralType)

Example 7 with TypingStrategy

use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.

the class ParameterizedTypeRefImpl method setDefinedTypingStrategy.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public void setDefinedTypingStrategy(TypingStrategy newDefinedTypingStrategy) {
    TypingStrategy oldDefinedTypingStrategy = definedTypingStrategy;
    definedTypingStrategy = newDefinedTypingStrategy == null ? DEFINED_TYPING_STRATEGY_EDEFAULT : newDefinedTypingStrategy;
    if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, TypeRefsPackage.PARAMETERIZED_TYPE_REF__DEFINED_TYPING_STRATEGY, oldDefinedTypingStrategy, definedTypingStrategy));
}
Also used : TypingStrategy(org.eclipse.n4js.ts.types.TypingStrategy) ENotificationImpl(org.eclipse.emf.ecore.impl.ENotificationImpl)

Example 8 with TypingStrategy

use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.

the class N4ClassDeclarationImpl method setTypingStrategy.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public void setTypingStrategy(TypingStrategy newTypingStrategy) {
    TypingStrategy oldTypingStrategy = typingStrategy;
    typingStrategy = newTypingStrategy == null ? TYPING_STRATEGY_EDEFAULT : newTypingStrategy;
    if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, N4JSPackage.N4_CLASS_DECLARATION__TYPING_STRATEGY, oldTypingStrategy, typingStrategy));
}
Also used : TypingStrategy(org.eclipse.n4js.ts.types.TypingStrategy) ENotificationImpl(org.eclipse.emf.ecore.impl.ENotificationImpl)

Example 9 with TypingStrategy

use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.

the class N4ClassifierDeclarationImpl method setTypingStrategy.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public void setTypingStrategy(TypingStrategy newTypingStrategy) {
    TypingStrategy oldTypingStrategy = typingStrategy;
    typingStrategy = newTypingStrategy == null ? TYPING_STRATEGY_EDEFAULT : newTypingStrategy;
    if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, N4JSPackage.N4_CLASSIFIER_DECLARATION__TYPING_STRATEGY, oldTypingStrategy, typingStrategy));
}
Also used : TypingStrategy(org.eclipse.n4js.ts.types.TypingStrategy) ENotificationImpl(org.eclipse.emf.ecore.impl.ENotificationImpl)

Example 10 with TypingStrategy

use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.

the class ParameterizedTypeRefStructuralImpl method getTypeRefAsString.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public String getTypeRefAsString() {
    TypingStrategy _typingStrategy = this.getTypingStrategy();
    Type _declaredType = this.getDeclaredType();
    String _rawTypeAsString = null;
    if (_declaredType != null) {
        _rawTypeAsString = _declaredType.getRawTypeAsString();
    }
    String _plus = (_typingStrategy + _rawTypeAsString);
    String _xifexpression = null;
    boolean _isEmpty = this.getTypeArgs().isEmpty();
    if (_isEmpty) {
        _xifexpression = "";
    } else {
        final Function1<TypeArgument, String> _function = new Function1<TypeArgument, String>() {

            public String apply(final TypeArgument it) {
                return it.getTypeRefAsString();
            }
        };
        String _join = IterableExtensions.join(XcoreEListExtensions.<TypeArgument, String>map(this.getTypeArgs(), _function), ",");
        String _plus_1 = ("<" + _join);
        _xifexpression = (_plus_1 + ">");
    }
    String _plus_2 = (_plus + _xifexpression);
    String _xifexpression_1 = null;
    boolean _isEmpty_1 = this.getStructuralMembers().isEmpty();
    if (_isEmpty_1) {
        _xifexpression_1 = "";
    } else {
        final Function1<TStructMember, String> _function_1 = new Function1<TStructMember, String>() {

            public String apply(final TStructMember it) {
                return it.getMemberAsString();
            }
        };
        String _join_1 = IterableExtensions.join(XcoreEListExtensions.<TStructMember, String>map(this.getStructuralMembers(), _function_1), "; ");
        String _plus_3 = (" with { " + _join_1);
        String _plus_4 = (_plus_3 + " }");
        String _xifexpression_2 = null;
        boolean _isEmpty_2 = this.getPostponedSubstitutions().isEmpty();
        if (_isEmpty_2) {
            _xifexpression_2 = "";
        } else {
            final Function1<TypeVariableMapping, String> _function_2 = new Function1<TypeVariableMapping, String>() {

                public String apply(final TypeVariableMapping it) {
                    String _typeAsString = it.getTypeVar().getTypeAsString();
                    String _plus = (_typeAsString + "->");
                    String _typeRefAsString = it.getTypeArg().getTypeRefAsString();
                    return (_plus + _typeRefAsString);
                }
            };
            String _join_2 = IterableExtensions.join(XcoreEListExtensions.<TypeVariableMapping, String>map(this.getPostponedSubstitutions(), _function_2), ", ");
            String _plus_5 = (" [[" + _join_2);
            _xifexpression_2 = (_plus_5 + "]]");
        }
        _xifexpression_1 = (_plus_4 + _xifexpression_2);
    }
    return (_plus_2 + _xifexpression_1);
}
Also used : TypingStrategy(org.eclipse.n4js.ts.types.TypingStrategy) Type(org.eclipse.n4js.ts.types.Type) TStructuralType(org.eclipse.n4js.ts.types.TStructuralType) TStructMember(org.eclipse.n4js.ts.types.TStructMember) TypeVariableMapping(org.eclipse.n4js.ts.typeRefs.TypeVariableMapping) Function1(org.eclipse.xtext.xbase.lib.Functions.Function1) TypeArgument(org.eclipse.n4js.ts.typeRefs.TypeArgument)

Aggregations

TypingStrategy (org.eclipse.n4js.ts.types.TypingStrategy)21 ENotificationImpl (org.eclipse.emf.ecore.impl.ENotificationImpl)6 TStructuralType (org.eclipse.n4js.ts.types.TStructuralType)6 Type (org.eclipse.n4js.ts.types.Type)5 TypeArgument (org.eclipse.n4js.ts.typeRefs.TypeArgument)4 TypeVariableMapping (org.eclipse.n4js.ts.typeRefs.TypeVariableMapping)4 TStructMember (org.eclipse.n4js.ts.types.TStructMember)4 Function1 (org.eclipse.xtext.xbase.lib.Functions.Function1)4 TN4Classifier (org.eclipse.n4js.ts.types.TN4Classifier)2 ParameterizedTypeRef (org.eclipse.n4js.ts.typeRefs.ParameterizedTypeRef)1