public interface ILinkingCandidate extends IApplicableCandidate
IFeatureLinkingCandidate
,
IConstructorLinkingCandidate
,
AbstractPendingLinkingCandidate
,
AbstractUnresolvableReferenceWithNode
,
AbstractResolvedReference
Modifier and Type | Method and Description |
---|---|
void |
applyToComputationState()
Apply this candidate to the current computation state model.
|
void |
applyToModel(IResolvedTypes resolvedTypes)
Injects the resolved feature into the model with the same semantics as the implicit
resolve
of EMF. |
XExpression |
getExpression()
The current expression that shall be linked.
|
JvmIdentifiableElement |
getFeature()
The currently considered feature (if any).
|
ILinkingCandidate |
getPreferredCandidate(ILinkingCandidate other)
Produces the best candidate for the current two candidates.
|
java.util.List<LightweightTypeReference> |
getTypeArguments()
The resolved type arguments.
|
validate
void applyToComputationState()
void applyToModel(IResolvedTypes resolvedTypes)
resolve
of EMF. This implies that the linked feature call may still point to a proxy afterwards.applyToModel
in interface IApplicableCandidate
ILinkingCandidate getPreferredCandidate(ILinkingCandidate other)
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 applyToComputationState()
,
applyToModel(IResolvedTypes)
, and IApplicableCandidate.validate(IAcceptor)
.JvmIdentifiableElement getFeature()
null
.XExpression getExpression()
java.util.List<LightweightTypeReference> getTypeArguments()