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

java.lang.Object
  extended by org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState
      extended by org.eclipse.xtext.xbase.typesystem.internal.AbstractRootTypeComputationState
All Implemented Interfaces:
ITypeComputationState, ITypeComputationState.Fork
Direct Known Subclasses:
AbstractLogicalContainerAwareRootComputationState, RootExpressionComputationState

@NonNullByDefault
public abstract class AbstractRootTypeComputationState
extends AbstractTypeComputationState

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 AbstractRootTypeComputationState(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, DefaultReentrantTypeResolver reentrantTypeResolver)
           
 
Method Summary
protected  JvmTypeReference acceptType(AbstractTypeExpectation expectation, JvmTypeReference type, ConformanceHint conformanceHint, boolean returnType)
           
 ITypeComputationResult computeTypes()
           
protected abstract  java.util.List<ITypeExpectation> getExpectations(AbstractTypeComputationState actualState, boolean returnType)
           
protected  java.util.List<ITypeExpectation> getImmediateExpectations(AbstractTypeComputationState actualState)
           
protected  java.util.List<ITypeExpectation> getReturnExpectations(AbstractTypeComputationState actualState)
           
protected abstract  XExpression getRootExpression()
           
 
Methods inherited from class org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState
acceptActualType, addLocalToCurrentScope, assignType, assignTypes, computeTypes, computeTypes, computeTypesWithoutMerge, createCandidate, createCandidate, createExpressionComputationState, createTypeAssigner, discardReassignedTypes, fork, getFeatureScopeSession, getImmediateExpectations, getLinkingCandidates, getLinkingCandidates, getResolvedTypes, getResolver, getReturnExpectations, getServices, getType, getTypeArgumentMerger, getTypeComputer, getTypeReferences, reassignType, withExpectation, withNonVoidExpectation, withoutExpectation, withoutImmediateExpectation, withReturnExpectation, withTypeCheckpoint
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractRootTypeComputationState

protected AbstractRootTypeComputationState(ResolvedTypes resolvedTypes,
                                           IFeatureScopeSession featureScopeSession,
                                           DefaultReentrantTypeResolver reentrantTypeResolver)
Method Detail

computeTypes

public ITypeComputationResult computeTypes()

getRootExpression

@Nullable
protected abstract XExpression getRootExpression()

acceptType

protected JvmTypeReference acceptType(AbstractTypeExpectation expectation,
                                      JvmTypeReference type,
                                      ConformanceHint conformanceHint,
                                      boolean returnType)
Specified by:
acceptType in class AbstractTypeComputationState

getReturnExpectations

protected final java.util.List<ITypeExpectation> getReturnExpectations(AbstractTypeComputationState actualState)
Specified by:
getReturnExpectations in class AbstractTypeComputationState

getImmediateExpectations

protected final java.util.List<ITypeExpectation> getImmediateExpectations(AbstractTypeComputationState actualState)
Specified by:
getImmediateExpectations in class AbstractTypeComputationState

getExpectations

protected abstract java.util.List<ITypeExpectation> getExpectations(AbstractTypeComputationState actualState,
                                                                    boolean returnType)