@NonNullByDefault public class StackedResolvedTypes extends ResolvedTypes
ResolvedTypes.Owner
IResolvedTypes.NullResolvedTypes
NULL
Modifier | Constructor and Description |
---|---|
protected |
StackedResolvedTypes(ResolvedTypes parent) |
acceptHint, acceptLinkingInformation, acceptType, acceptType, acceptUnboundTypeReference, addDiagnostic, addNonRecursiveHints, addNonRecursiveHints, addNonRecursiveHints, appendContent, appendContent, appendListMapContent, basicGetDeclardTypeParameters, basicGetExpressionTypes, basicGetLinkingCandidates, basicGetPropagatedTypes, basicGetRefinedTypes, basicGetTypeParameterHints, basicGetTypeParameters, basicGetTypes, clear, closeBracket, copyBoundTypeArgument, createConverter, createUnboundTypeReference, discardExpectedExceptions, doGetActualType, doGetExpectedType, doGetReturnType, getActualType, getActualType, getActualTypeArguments, getAllHints, getConformanceHints, getContextResourceSet, getConverter, getExpectedReturnType, getExpectedType, getFollowUpErrors, getLinkedFeature, getLinkedFeature, getLinkingCandidate, getLinkingCandidate, getMergedType, getReferenceOwner, getResolver, getReturnType, getServices, getTypeData, getTypeData, getUnconvertedDeclaredType, isVoidReturnTypeAllowed, isVoidTypeAllowed, mergeTypeData, pushExpectedExceptions, pushExpectedExceptions, pushReassigningTypes, pushTypes, pushTypes, reassignTypeWithoutMerge, removeRecursiveTypeArguments, resolveDependentTypeArguments, setPropagatedType, setRefinedType, setType, toOwnedReference, toString
protected StackedResolvedTypes(ResolvedTypes parent)
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)
public boolean isResolved(java.lang.Object handle)
isResolved
in class ResolvedTypes
@Nullable protected java.util.Collection<TypeData> doGetTypeData(XExpression expression)
doGetTypeData
in class ResolvedTypes
@Nullable protected LightweightTypeReference doGetActualType(JvmIdentifiableElement identifiable, boolean ignoreReassignedTypes)
doGetActualType
in class ResolvedTypes
protected boolean isRefinedType(JvmIdentifiableElement element)
isRefinedType
in class ResolvedTypes
@Nullable protected ILinkingCandidate doGetLinkingCandidate(@Nullable XExpression featureOrConstructorCall)
doGetLinkingCandidate
in class ResolvedTypes
@Nullable protected JvmIdentifiableElement doGetLinkedFeature(@Nullable XExpression featureOrConstructorCall)
doGetLinkedFeature
in class ResolvedTypes
@Nullable protected LightweightTypeReference getDeclaredType(JvmIdentifiableElement identifiable)
getDeclaredType
in class ResolvedTypes
public java.util.List<LightweightTypeReference> getExpectedExceptions()
getExpectedExceptions
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)
@Nullable protected java.util.List<LightweightTypeReference> doGetActualTypeArguments(XExpression expression)
doGetActualTypeArguments
in class ResolvedTypes
@Nullable public IFeatureLinkingCandidate getFeature(XAbstractFeatureCall featureCall)
getFeature
in class ResolvedTypes
@Nullable public IConstructorLinkingCandidate getConstructor(XConstructorCall constructorCall)
getConstructor
in class ResolvedTypes
public void reassignType(JvmIdentifiableElement identifiable, @Nullable 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 java.util.EnumSet<ConformanceHint> getConformanceHints(XExpression expression, boolean recompute)
protected void appendContent(java.lang.StringBuilder result, java.lang.String indentation)
appendContent
in class ResolvedTypes
@Nullable protected LightweightTypeReference getExpectedTypeForAssociatedExpression(JvmMember member, XExpression expression)
getExpectedTypeForAssociatedExpression
in class ResolvedTypes
protected void markToBeInferred(XExpression expression)
markToBeInferred
in class ResolvedTypes
protected IssueSeverities getSeverities()
getSeverities
in class ResolvedTypes