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

java.lang.Object
  extended by org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState
      extended by org.eclipse.xtext.xbase.typesystem.internal.AbstractStackedTypeComputationState
All Implemented Interfaces:
ITypeComputationState, ITypeComputationState.Fork
Direct Known Subclasses:
ExpressionTypeComputationState, NoExpectationTypeComputationState, ObservableTypeComputationStateWithExpectation, ReturnExpectationTypeComputationState, TypeCheckpointComputationState, TypeComputationStateWithExpectation, TypeComputationStateWithNonVoidExpectation

@NonNullByDefault
public abstract class AbstractStackedTypeComputationState
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 AbstractStackedTypeComputationState(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, DefaultReentrantTypeResolver reentrantTypeResolver, AbstractTypeComputationState parent)
           
 
Method Summary
protected  JvmTypeReference acceptType(AbstractTypeExpectation expectation, JvmTypeReference type, ConformanceHint conformanceHint, boolean returnType)
           
 java.util.List<ITypeExpectation> getImmediateExpectations(AbstractTypeComputationState actualState)
           
protected  AbstractTypeComputationState getParent()
           
 java.util.List<ITypeExpectation> getReturnExpectations(AbstractTypeComputationState actualState)
           
 
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

AbstractStackedTypeComputationState

protected AbstractStackedTypeComputationState(ResolvedTypes resolvedTypes,
                                              IFeatureScopeSession featureScopeSession,
                                              DefaultReentrantTypeResolver reentrantTypeResolver,
                                              AbstractTypeComputationState parent)
Method Detail

getParent

protected AbstractTypeComputationState getParent()

getImmediateExpectations

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

getReturnExpectations

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

acceptType

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