public class StackedResolvedTypes extends ResolvedTypes
ResolvedTypes.Owner, ResolvedTypes.Shared, ResolvedTypes.SharedKeysAwareMap<K,V>, ResolvedTypes.SharedKeysAwareSet<E>
IResolvedTypes.NullResolvedTypes
NULL
Modifier | Constructor and Description |
---|---|
protected |
StackedResolvedTypes(ResolvedTypes parent) |
acceptCandidate, acceptHint, acceptType, acceptType, acceptUnboundTypeReference, addDiagnostic, addExpressionScope, addNonRecursiveHints, addNonRecursiveHints, addNonRecursiveHints, appendContent, appendContent, appendListMapContent, basicGetDeclardTypeParameters, basicGetExpressionTypes, basicGetLinkingMap, basicGetPropagatedTypes, basicGetReassignedTypes, basicGetRefinedTypes, basicGetTypeParameterHints, basicGetTypeParameters, basicGetTypes, closeBracket, copyBoundTypeArgument, createUnboundTypeReference, discardExpectedExceptions, doGetActualType, doGetActualType, doGetExpectedType, doGetReturnType, getActualType, getActualType, getActualTypeArguments, getAllHints, getAmbiguousLinkingCandidates, getConformanceFlags, getConstructor, getContextResourceSet, getDeclaredType, getExpectedReturnType, getExpectedType, getExpressionScope, getFeature, getFeatureScopeTracker, getFollowUpErrors, getLinkedFeature, getLinkedFeature, getLinkingCandidate, getLinkingCandidate, getMergedType, getMonitor, getReferenceOwner, getResolver, getReturnType, getServices, getSeverities, getThrownExceptions, getTypeData, getTypeData, hasExpressionScope, isResolved, isVoidReturnTypeAllowed, isVoidTypeAllowed, mergeTypeData, pushExpectedExceptions, pushExpectedExceptions, pushReassigningTypes, pushTypes, pushTypes, reassignTypeWithoutMerge, removeRecursiveTypeArguments, replacePreviousExpressionScope, resolveDependentTypeArguments, setPropagatedType, setRefinedType, setType, toMultiType, toOwnedReference, toString, withFlattenedReassignedTypes
protected StackedResolvedTypes(ResolvedTypes parent)
protected void clear()
clear
in class ResolvedTypes
protected ResolvedTypes getParent()
protected void mergeIntoParent()
protected void prepareMergeIntoParent()
protected void performMergeIntoParent()
protected void mergeInto(ResolvedTypes parent)
protected void mergePropagatedTypes(ResolvedTypes parent)
protected void mergeRefinedTypes(ResolvedTypes parent)
protected boolean isPropagatedType(XExpression expression)
isPropagatedType
in class ResolvedTypes
public boolean isRefinedType(XExpression expression)
IResolvedTypes
true
if the expression's type is based on a type
refinement, e.g. an instanceof guard my specialize the type of the checked
reference. Any feature call to that reference is considered to be based on
a refined type.isRefinedType
in interface IResolvedTypes
isRefinedType
in class ResolvedTypes
expression
- the expression that may have been typed based on a refinement.true
if the type was refined, false
otherwise.protected void mergeQueuedDiagnostics(ResolvedTypes parent)
protected void mergeExpressionTypesIntoParent(ResolvedTypes parent)
protected TypeData prepareMerge(TypeData typeData, ITypeReferenceOwner owner)
protected void mergeLinkingCandidatesIntoParent(ResolvedTypes parent)
protected void mergeTypesIntoParent(ResolvedTypes parent)
protected void mergeTypeParametersIntoParent(ResolvedTypes parent)
protected boolean doIsResolved(java.lang.Object handle)
doIsResolved
in class ResolvedTypes
protected java.util.List<TypeData> doGetTypeData(XExpression expression)
doGetTypeData
in class ResolvedTypes
protected LightweightTypeReference doGetActualTypeNoDeclaration(JvmIdentifiableElement identifiable, boolean ignoreReassignedTypes)
doGetActualTypeNoDeclaration
in class ResolvedTypes
protected boolean isRefinedType(JvmIdentifiableElement element)
isRefinedType
in class ResolvedTypes
protected IApplicableCandidate doGetCandidate(XExpression featureOrConstructorCall)
doGetCandidate
in class ResolvedTypes
protected JvmIdentifiableElement doGetLinkedFeature(XExpression featureOrConstructorCall)
doGetLinkedFeature
in class ResolvedTypes
public java.util.List<LightweightTypeReference> getExpectedExceptions()
getExpectedExceptions
in class ResolvedTypes
protected LightweightTypeReference doGetDeclaredType(JvmIdentifiableElement identifiable)
doGetDeclaredType
in class ResolvedTypes
public java.util.List<JvmTypeParameter> getDeclaredTypeParameters()
getDeclaredTypeParameters
in class ResolvedTypes
public void addDeclaredTypeParameters(java.util.List<JvmTypeParameter> typeParameters)
addDeclaredTypeParameters
in class ResolvedTypes
public void replaceDeclaredTypeParameters(java.util.List<JvmTypeParameter> typeParameters)
protected java.util.List<LightweightTypeReference> doGetActualTypeArguments(XExpression expression)
doGetActualTypeArguments
in class ResolvedTypes
protected IFeatureLinkingCandidate doGetFeature(XAbstractFeatureCall featureCall)
doGetFeature
in class ResolvedTypes
protected IConstructorLinkingCandidate doGetConstructor(XConstructorCall constructorCall)
doGetConstructor
in class ResolvedTypes
public void reassignType(JvmIdentifiableElement identifiable, LightweightTypeReference reference)
reassignType
in class ResolvedTypes
public java.util.List<AbstractDiagnostic> getQueuedDiagnostics()
getQueuedDiagnostics
in interface IResolvedTypes
getQueuedDiagnostics
in class ResolvedTypes
protected UnboundTypeReference getUnboundTypeReference(java.lang.Object handle)
getUnboundTypeReference
in class ResolvedTypes
protected void refineExpectedType(XExpression receiver, ITypeExpectation refinedExpectation)
refineExpectedType
in class ResolvedTypes
protected java.util.List<LightweightBoundTypeArgument> getHints(java.lang.Object handle)
getHints
in class ResolvedTypes
protected int getConformanceFlags(XExpression expression, boolean recompute)
protected void appendContent(java.lang.StringBuilder result, java.lang.String indentation)
appendContent
in class ResolvedTypes
protected LightweightTypeReference getExpectedTypeForAssociatedExpression(JvmMember member, XExpression expression)
getExpectedTypeForAssociatedExpression
in class ResolvedTypes
protected void markToBeInferred(XExpression expression)
markToBeInferred
in class ResolvedTypes
protected java.util.Map<JvmIdentifiableElement,LightweightTypeReference> getFlattenedReassignedTypes()
getFlattenedReassignedTypes
in class ResolvedTypes