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

java.lang.Object
  extended by org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState
      extended by org.eclipse.xtext.xbase.typesystem.internal.AbstractStackedTypeComputationState
          extended by org.eclipse.xtext.xbase.typesystem.internal.ExpressionTypeComputationState
All Implemented Interfaces:
ITypeComputationState, ITypeComputationState.Fork
Direct Known Subclasses:
ChildExpressionTypeComputationState, ExpressionTypeCheckpointComputationState

@NonNullByDefault
public class ExpressionTypeComputationState
extends AbstractStackedTypeComputationState

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState
AbstractTypeComputationState.TypeAssigner
 
Nested classes/interfaces inherited from interface org.eclipse.xtext.xbase.typesystem.computation.ITypeComputationState
ITypeComputationState.Fork
 
Constructor Summary
protected ExpressionTypeComputationState(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, DefaultReentrantTypeResolver reentrantTypeResolver, AbstractTypeComputationState parent, XExpression expression)
           
 
Method Summary
protected  JvmTypeReference acceptType(AbstractTypeExpectation expectation, JvmTypeReference type, ConformanceHint conformanceHint, boolean returnType)
           
protected  JvmTypeReference acceptType(ResolvedTypes resolvedTypes, AbstractTypeExpectation expectation, JvmTypeReference type, ConformanceHint conformanceHint, boolean returnType)
           
 AbstractTypeComputationState.TypeAssigner assignTypes()
           
protected  ExpressionTypeComputationState createExpressionComputationState(XExpression expression, StackedResolvedTypes typeResolution)
           
protected  XExpression getExpression()
           
 AbstractTypeComputationState withTypeCheckpoint()
           
 
Methods inherited from class org.eclipse.xtext.xbase.typesystem.internal.AbstractStackedTypeComputationState
getImmediateExpectations, getParent, getReturnExpectations
 
Methods inherited from class org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState
acceptActualType, addLocalToCurrentScope, assignType, computeTypes, computeTypes, computeTypesWithoutMerge, createCandidate, createCandidate, createTypeAssigner, discardReassignedTypes, fork, getFeatureScopeSession, getImmediateExpectations, getLinkingCandidates, getLinkingCandidates, getResolvedTypes, getResolver, getReturnExpectations, getServices, getType, getTypeArgumentMerger, getTypeComputer, getTypeReferences, reassignType, withExpectation, withNonVoidExpectation, withoutExpectation, withoutImmediateExpectation, withReturnExpectation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionTypeComputationState

protected ExpressionTypeComputationState(ResolvedTypes resolvedTypes,
                                         IFeatureScopeSession featureScopeSession,
                                         DefaultReentrantTypeResolver reentrantTypeResolver,
                                         AbstractTypeComputationState parent,
                                         XExpression expression)
Method Detail

acceptType

protected JvmTypeReference acceptType(AbstractTypeExpectation expectation,
                                      JvmTypeReference type,
                                      ConformanceHint conformanceHint,
                                      boolean returnType)
Overrides:
acceptType in class AbstractStackedTypeComputationState

acceptType

protected JvmTypeReference acceptType(ResolvedTypes resolvedTypes,
                                      AbstractTypeExpectation expectation,
                                      JvmTypeReference type,
                                      ConformanceHint conformanceHint,
                                      boolean returnType)

createExpressionComputationState

protected ExpressionTypeComputationState createExpressionComputationState(XExpression expression,
                                                                          StackedResolvedTypes typeResolution)
Overrides:
createExpressionComputationState in class AbstractTypeComputationState

assignTypes

public AbstractTypeComputationState.TypeAssigner assignTypes()
Specified by:
assignTypes in interface ITypeComputationState
Overrides:
assignTypes in class AbstractTypeComputationState

withTypeCheckpoint

public AbstractTypeComputationState withTypeCheckpoint()
Specified by:
withTypeCheckpoint in interface ITypeComputationState.Fork
Overrides:
withTypeCheckpoint in class AbstractTypeComputationState

getExpression

protected XExpression getExpression()