org.eclipse.xtext.xbase.typesystem.internal
Class StackedTypeResolution

java.lang.Object
  extended by org.eclipse.xtext.xbase.typesystem.internal.TypeResolution
      extended by org.eclipse.xtext.xbase.typesystem.internal.StackedTypeResolution
All Implemented Interfaces:
ITypeResolution
Direct Known Subclasses:
DelegatingTypeResolution

public class StackedTypeResolution
extends TypeResolution

Author:
Sebastian Zarnekow - Initial contribution and API TODO JavaDoc, toString

Field Summary
 
Fields inherited from class org.eclipse.xtext.xbase.typesystem.internal.TypeResolution
expressionTypes, featureLinking, reassignedTypes, types
 
Fields inherited from interface org.eclipse.xtext.xbase.typesystem.ITypeResolution
NULL
 
Constructor Summary
StackedTypeResolution(TypeResolution parent)
           
 
Method Summary
 JvmTypeReference getActualType(JvmIdentifiableElement identifiable)
           
 JvmTypeReference getActualType(XExpression expression)
           
 java.util.List<JvmTypeReference> getActualTypeArguments(XExpression expression)
           
 IConstructorLinkingCandidate getConstructor(XConstructorCall constructorCall)
           
 JvmTypeReference getExpectedType(XExpression expression)
           
 IFeatureLinkingCandidate getFeature(XAbstractFeatureCall featureCall)
           
 TypeResolution getParent()
           
 java.util.List<org.eclipse.emf.common.util.Diagnostic> getQueuedDiagnostics()
           
protected  TypeData getTypeData(XExpression expression, boolean returnType)
           
 TypeResolution mergeIntoParent()
           
 void reassignType(JvmIdentifiableElement identifiable, JvmTypeReference reference)
           
 
Methods inherited from class org.eclipse.xtext.xbase.typesystem.internal.TypeResolution
acceptType, ensureExpressionTypesMapExists, ensureLinkingMapExists, ensureReassignedTypesMapExists, ensureTypesMapExists, getCommonType, getResolver, getTypeConformanceComputer, getXtypeFactory, isValidForMergedResult, mergeTypeData, setLinkingInformation, setType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StackedTypeResolution

public StackedTypeResolution(TypeResolution parent)
Method Detail

getParent

public TypeResolution getParent()

mergeIntoParent

public TypeResolution mergeIntoParent()

getTypeData

protected TypeData getTypeData(XExpression expression,
                               boolean returnType)
Overrides:
getTypeData in class TypeResolution

getActualType

public JvmTypeReference getActualType(JvmIdentifiableElement identifiable)
Overrides:
getActualType in class TypeResolution

getActualType

public JvmTypeReference getActualType(XExpression expression)
Specified by:
getActualType in interface ITypeResolution
Overrides:
getActualType in class TypeResolution

getActualTypeArguments

public java.util.List<JvmTypeReference> getActualTypeArguments(XExpression expression)
Specified by:
getActualTypeArguments in interface ITypeResolution
Overrides:
getActualTypeArguments in class TypeResolution
Parameters:
expression - may either be an XAbstractFeatureCall or XConstructorCall. May not be null.

getFeature

public IFeatureLinkingCandidate getFeature(XAbstractFeatureCall featureCall)
Overrides:
getFeature in class TypeResolution

getConstructor

public IConstructorLinkingCandidate getConstructor(XConstructorCall constructorCall)
Overrides:
getConstructor in class TypeResolution

getExpectedType

public JvmTypeReference getExpectedType(XExpression expression)
Specified by:
getExpectedType in interface ITypeResolution
Overrides:
getExpectedType in class TypeResolution

reassignType

public void reassignType(JvmIdentifiableElement identifiable,
                         JvmTypeReference reference)
Overrides:
reassignType in class TypeResolution

getQueuedDiagnostics

public java.util.List<org.eclipse.emf.common.util.Diagnostic> getQueuedDiagnostics()
Specified by:
getQueuedDiagnostics in interface ITypeResolution
Overrides:
getQueuedDiagnostics in class TypeResolution