public class ResolvedTypeLiteral extends AbstractResolvedReference<XAbstractFeatureCall> implements ITypeLiteralLinkingCandidate
AbstractLinkingCandidate.ArgumentTypeComputationState, AbstractLinkingCandidate.ObservableTypeExpectationresolvedElementarguments, typeArguments| Modifier | Constructor and Description |
|---|---|
protected |
ResolvedTypeLiteral(XAbstractFeatureCall featureCall,
org.eclipse.xtext.common.types.JvmIdentifiableElement resolvedElement,
ITypeExpectation expectation,
ExpressionTypeComputationState state) |
| Modifier and Type | Method and Description |
|---|---|
void |
applyToComputationState()
Apply this candidate to the current computation state model.
|
protected java.util.List<XExpression> |
getArguments() |
protected LightweightTypeReference |
getDeclaredType(org.eclipse.xtext.common.types.JvmIdentifiableElement feature) |
protected java.util.List<org.eclipse.xtext.common.types.JvmTypeParameter> |
getDeclaredTypeParameters() |
XAbstractFeatureCall |
getFeatureCall()
Returns the feature call that is linked.
|
protected java.util.List<org.eclipse.xtext.common.types.JvmTypeReference> |
getPlainSyntacticTypeArguments() |
ILinkingCandidate |
getPreferredCandidate(ILinkingCandidate other)
Produces the best candidate for the current two candidates.
|
org.eclipse.xtext.common.types.JvmType |
getType()
Returns the type that shall be resolved as a literal.
|
java.util.List<LightweightTypeReference> |
getTypeArguments()
The resolved type arguments.
|
boolean |
isExtension()
Returns
true if the the linked feature is contributed
by an extension. |
boolean |
isPackageFragment() |
boolean |
isStatic()
Returns
true if the the linked feature is static. |
boolean |
isTypeLiteral()
Returns
true if the the feature call is linked as a type literal. |
protected void |
preApply() |
applyToModel, getFeature, getTypeParameterMapping, toString, validateaccept, computeArgumentType, computeArgumentTypes, computeFixedArityArgumentType, computeVarArgumentType, createArgumentTypeSubstitutor, createLinkingTypeComputationState, createVarArgTypeComputationState, deferredBindTypeArgument, discardRefinementTypeIfReassigned, getActualType, getActualType, getDeclaratorParameterMapping, getExpectedType, getExpression, getState, getSubstitutedExpectedType, getSyntacticTypeArguments, hasReceiver, initializeArgumentTypeComputation, initializeConstraintMapping, initializeMapping, initializeTypeParameterMapping, initializeTypeParameterMapping, isBoundTypeArgumentSkipped, isRawTypeContext, mustDiscardRefinement, resolveAgainstActualType, resolveArgumentTypeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitapplyToModel, getExpression, getFeaturevalidateprotected ResolvedTypeLiteral(XAbstractFeatureCall featureCall, org.eclipse.xtext.common.types.JvmIdentifiableElement resolvedElement, ITypeExpectation expectation, ExpressionTypeComputationState state)
public XAbstractFeatureCall getFeatureCall()
IFeatureLinkingCandidategetFeatureCall in interface IFeatureLinkingCandidatepublic boolean isStatic()
IFeatureLinkingCandidatetrue if the the linked feature is static.isStatic in interface IFeatureLinkingCandidateisStatic in interface ITypeLiteralLinkingCandidatefalse.public org.eclipse.xtext.common.types.JvmType getType()
ITypeLiteralLinkingCandidategetType in interface ITypeLiteralLinkingCandidatepublic boolean isExtension()
IFeatureLinkingCandidatetrue if the the linked feature is contributed
by an extension.isExtension in interface IFeatureLinkingCandidateisExtension in interface ITypeLiteralLinkingCandidatefalse.public boolean isTypeLiteral()
IFeatureLinkingCandidatetrue if the the feature call is linked as a type literal.isTypeLiteral in interface IFeatureLinkingCandidateisTypeLiteral in interface ITypeLiteralLinkingCandidateisTypeLiteral in class AbstractLinkingCandidate<XAbstractFeatureCall>true.public boolean isPackageFragment()
protected java.util.List<XExpression> getArguments()
getArguments in class AbstractLinkingCandidate<XAbstractFeatureCall>public java.util.List<LightweightTypeReference> getTypeArguments()
ILinkingCandidategetTypeArguments in interface ILinkingCandidategetTypeArguments in interface ITypeLiteralLinkingCandidategetTypeArguments in class AbstractLinkingCandidate<XAbstractFeatureCall>protected java.util.List<org.eclipse.xtext.common.types.JvmTypeReference> getPlainSyntacticTypeArguments()
getPlainSyntacticTypeArguments in class AbstractLinkingCandidate<XAbstractFeatureCall>protected java.util.List<org.eclipse.xtext.common.types.JvmTypeParameter> getDeclaredTypeParameters()
getDeclaredTypeParameters in class AbstractLinkingCandidate<XAbstractFeatureCall>public ILinkingCandidate getPreferredCandidate(ILinkingCandidate other)
ILinkingCandidatethis and other) are ambiguous
so no prefered candidate can be chosen. In that case, a new linking candidate
may be produced that carries this information and will use that on ILinkingCandidate.applyToComputationState(),
ILinkingCandidate.applyToModel(IResolvedTypes), and IApplicableCandidate.validate(IAcceptor).getPreferredCandidate in interface ILinkingCandidatepublic void applyToComputationState()
ILinkingCandidateapplyToComputationState in interface ILinkingCandidateapplyToComputationState in class AbstractLinkingCandidate<XAbstractFeatureCall>protected void preApply()
preApply in class AbstractLinkingCandidate<XAbstractFeatureCall>protected LightweightTypeReference getDeclaredType(org.eclipse.xtext.common.types.JvmIdentifiableElement feature)
getDeclaredType in class AbstractLinkingCandidate<XAbstractFeatureCall>