org.eclipse.xtext.xbase.typesystem.computation
Interface ITypeComputationState

All Known Implementing Classes:
AbstractLogicalContainerAwareRootComputationState, AbstractRootTypeComputationState, AbstractStackedTypeComputationState, AbstractTypeComputationState, ChildExpressionTypeCheckpointComputationState, ChildExpressionTypeComputationState, ConstructorBodyComputationState, ExpressionTypeCheckpointComputationState, ExpressionTypeComputationState, FieldTypeComputationState, NoExpectationTypeComputationState, ObservableTypeComputationStateWithExpectation, OperationBodyComputationState, ReturnExpectationTypeComputationState, RootExpressionComputationState, TypeCheckpointComputationState, TypeComputationStateWithExpectation, TypeComputationStateWithNonVoidExpectation

@NonNullByDefault
public interface ITypeComputationState

Author:
Sebastian Zarnekow - Initial contribution and API
This interface is not intended to be implemented by clients.
This interface is not intended to be implemented by clients. TODO JavaDoc, toString

Nested Class Summary
static interface ITypeComputationState.Fork
           
 
Method Summary
 void acceptActualType(JvmTypeReference type)
           
 void addLocalToCurrentScope(JvmIdentifiableElement element)
           
 ITypeComputationState assignType(JvmIdentifiableElement element, JvmTypeReference type)
           
 ITypeAssigner assignTypes()
           
 ITypeComputationResult computeTypes(XExpression expression)
           
 void discardReassignedTypes(XExpression object)
           
 ITypeComputationState.Fork fork()
           
 java.util.List<ITypeExpectation> getImmediateExpectations()
          The result is never empty.
 java.util.List<IFeatureLinkingCandidate> getLinkingCandidates(XAbstractFeatureCall featureCall)
          The result is never empty.
 java.util.List<IConstructorLinkingCandidate> getLinkingCandidates(XConstructorCall constructorCall)
          The result is never empty.
 java.util.List<ITypeExpectation> getReturnExpectations()
          The result is never empty.
 JvmTypeReference getType(JvmIdentifiableElement element)
           
 void reassignType(XExpression object, JvmTypeReference type)
           
 

Method Detail

fork

ITypeComputationState.Fork fork()

computeTypes

ITypeComputationResult computeTypes(@Nullable
                                    XExpression expression)

assignType

ITypeComputationState assignType(JvmIdentifiableElement element,
                                 JvmTypeReference type)
Parameters:
type - the type of the element. null or other invalid types will be treated as error types.

assignTypes

ITypeAssigner assignTypes()

addLocalToCurrentScope

void addLocalToCurrentScope(JvmIdentifiableElement element)

getImmediateExpectations

java.util.List<ITypeExpectation> getImmediateExpectations()
The result is never empty.


getReturnExpectations

java.util.List<ITypeExpectation> getReturnExpectations()
The result is never empty.


getLinkingCandidates

java.util.List<IConstructorLinkingCandidate> getLinkingCandidates(XConstructorCall constructorCall)
The result is never empty.


getLinkingCandidates

java.util.List<IFeatureLinkingCandidate> getLinkingCandidates(XAbstractFeatureCall featureCall)
The result is never empty.


acceptActualType

void acceptActualType(JvmTypeReference type)

getType

@Nullable
JvmTypeReference getType(JvmIdentifiableElement element)

reassignType

void reassignType(XExpression object,
                  JvmTypeReference type)

discardReassignedTypes

void discardReassignedTypes(XExpression object)