use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.
the class ParameterizedTypeRefStructural_IMImpl method getTypingStrategy.
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TypingStrategy getTypingStrategy() {
TypingStrategy _definedTypingStrategy = this.getDefinedTypingStrategy();
boolean _tripleEquals = (_definedTypingStrategy == TypingStrategy.DEFAULT);
if (_tripleEquals) {
return TypingStrategy.STRUCTURAL;
} else {
return this.getDefinedTypingStrategy();
}
}
use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.
the class ParameterizedTypeRefStructural_IMImpl 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);
}
use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.
the class BoundThisTypeRefImpl method isDefSiteStructuralTyping.
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isDefSiteStructuralTyping() {
ParameterizedTypeRef _actualThisTypeRef = this.getActualThisTypeRef();
if ((_actualThisTypeRef instanceof TN4Classifier)) {
ParameterizedTypeRef _actualThisTypeRef_1 = this.getActualThisTypeRef();
TypingStrategy _typingStrategy = ((TN4Classifier) _actualThisTypeRef_1).getTypingStrategy();
return (_typingStrategy == TypingStrategy.STRUCTURAL);
}
ParameterizedTypeRef _actualThisTypeRef_2 = this.getActualThisTypeRef();
if ((_actualThisTypeRef_2 instanceof TStructuralType)) {
return true;
}
return false;
}
use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.
the class BoundThisTypeRefImpl 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.BOUND_THIS_TYPE_REF__DEFINED_TYPING_STRATEGY, oldDefinedTypingStrategy, definedTypingStrategy));
}
use of org.eclipse.n4js.ts.types.TypingStrategy in project n4js by eclipse.
the class ParameterizedTypeRefImpl method getTypingStrategy.
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TypingStrategy getTypingStrategy() {
TypingStrategy _definedTypingStrategy = this.getDefinedTypingStrategy();
boolean _tripleEquals = (_definedTypingStrategy == TypingStrategy.DEFAULT);
if (_tripleEquals) {
boolean _isDefSiteStructuralTyping = this.isDefSiteStructuralTyping();
if (_isDefSiteStructuralTyping) {
return TypingStrategy.STRUCTURAL;
} else {
return TypingStrategy.NOMINAL;
}
}
return this.getDefinedTypingStrategy();
}
Aggregations