use of org.eclipse.n4js.ts.types.TStructuralType in project n4js by eclipse.
the class InternalTypeSystem method applyRuleTypeObjectLiteral.
protected Result<TypeRef> applyRuleTypeObjectLiteral(final RuleEnvironment G, final RuleApplicationTrace _trace_, final ObjectLiteral ol) throws RuleFailedException {
// output parameter
TypeRef T = null;
final ParameterizedTypeRefStructural ptr = TypeRefsFactory.eINSTANCE.createParameterizedTypeRefStructural();
ptr.setDeclaredType(RuleEnvironmentExtensions.objectType(G));
Type _definedType = ol.getDefinedType();
ptr.setStructuralType(((TStructuralType) _definedType));
ptr.setDefinedTypingStrategy(TypingStrategy.STRUCTURAL);
T = ptr;
return new Result<TypeRef>(T);
}
use of org.eclipse.n4js.ts.types.TStructuralType in project n4js by eclipse.
the class ParameterizedTypeRefStructural_IMImpl method getStructuralMembers.
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<TStructMember> getStructuralMembers() {
EList<TStructMember> _xifexpression = null;
TStructuralType _structuralType = this.getStructuralType();
boolean _tripleNotEquals = (_structuralType != null);
if (_tripleNotEquals) {
_xifexpression = this.getStructuralType().getOwnedMembers();
} else {
EList<TStructMember> _xifexpression_1 = null;
boolean _isEmpty = this.getAstStructuralMembers().isEmpty();
boolean _not = (!_isEmpty);
if (_not) {
_xifexpression_1 = this.getAstStructuralMembers();
} else {
_xifexpression_1 = this.getGenStructuralMembers();
}
_xifexpression = _xifexpression_1;
}
return ECollections.<TStructMember>unmodifiableEList(_xifexpression);
}
use of org.eclipse.n4js.ts.types.TStructuralType in project n4js by eclipse.
the class VersionedParameterizedTypeRefStructural_IMImpl method setStructuralType.
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setStructuralType(TStructuralType newStructuralType) {
TStructuralType oldStructuralType = structuralType;
structuralType = newStructuralType;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ImPackage.VERSIONED_PARAMETERIZED_TYPE_REF_STRUCTURAL_IM__STRUCTURAL_TYPE, oldStructuralType, structuralType));
}
use of org.eclipse.n4js.ts.types.TStructuralType 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.TStructuralType in project n4js by eclipse.
the class BoundThisTypeRefImpl method getStructuralMembers.
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<TStructMember> getStructuralMembers() {
EList<TStructMember> _xifexpression = null;
TStructuralType _structuralType = this.getStructuralType();
boolean _tripleNotEquals = (_structuralType != null);
if (_tripleNotEquals) {
_xifexpression = this.getStructuralType().getOwnedMembers();
} else {
EList<TStructMember> _xifexpression_1 = null;
boolean _isEmpty = this.getAstStructuralMembers().isEmpty();
boolean _not = (!_isEmpty);
if (_not) {
_xifexpression_1 = this.getAstStructuralMembers();
} else {
_xifexpression_1 = this.getGenStructuralMembers();
}
_xifexpression = _xifexpression_1;
}
return ECollections.<TStructMember>unmodifiableEList(_xifexpression);
}
Aggregations