@NonNullByDefault public class NullFeatureLinkingCandidate extends AbstractNullLinkingCandidate implements IFeatureLinkingCandidate
featureOrConstructorCall
Constructor and Description |
---|
NullFeatureLinkingCandidate(XAbstractFeatureCall featureCall,
AbstractTypeComputationState state) |
Modifier and Type | Method and Description |
---|---|
void |
applyToComputationState()
Apply this candidate to the current computation state model.
|
XAbstractFeatureCall |
getFeatureCall()
Returns the feature call that is linked.
|
ILinkingCandidate |
getPreferredCandidate(ILinkingCandidate other)
Produces the best candidate for the current two candidates.
|
boolean |
isExtension()
Returns
true if the the linked feature is contributed
by an extension. |
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. |
applyToModel, getExpression, getFeature, getTypeArguments, validate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applyToModel, getExpression, getFeature, getTypeArguments, validate
public NullFeatureLinkingCandidate(XAbstractFeatureCall featureCall, AbstractTypeComputationState state)
public ILinkingCandidate getPreferredCandidate(ILinkingCandidate other)
ILinkingCandidate
this
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()
, and ILinkingCandidate.validate(IAcceptor)
.getPreferredCandidate
in interface ILinkingCandidate
public XAbstractFeatureCall getFeatureCall()
IFeatureLinkingCandidate
getFeatureCall
in interface IFeatureLinkingCandidate
public boolean isStatic()
IFeatureLinkingCandidate
true
if the the linked feature is static.isStatic
in interface IFeatureLinkingCandidate
public boolean isExtension()
IFeatureLinkingCandidate
true
if the the linked feature is contributed
by an extension.isExtension
in interface IFeatureLinkingCandidate
public boolean isTypeLiteral()
IFeatureLinkingCandidate
true
if the the feature call is linked as a type literal.isTypeLiteral
in interface IFeatureLinkingCandidate
public void applyToComputationState()
ILinkingCandidate
applyToComputationState
in interface ILinkingCandidate