public class SuspiciouslyOverloadedCandidate extends java.lang.Object implements IFeatureLinkingCandidate, ISuspiciouslyOverloadedCandidate
this receiver
though an overloaded candidate on it exists.| Modifier | Constructor and Description |
|---|---|
protected |
SuspiciouslyOverloadedCandidate(FeatureLinkingCandidate chosenCandidate,
FeatureLinkingCandidate rejectedCandidate) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
appendCandidate(FeatureLinkingCandidate candidate,
java.lang.StringBuilder result) |
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. |
protected CandidateCompareResult |
compareTo(AbstractPendingLinkingCandidate<?> right) |
FeatureLinkingCandidate |
getChosenCandidate() |
protected java.lang.String |
getDeclaratorSimpleName(org.eclipse.xtext.common.types.JvmIdentifiableElement element) |
XExpression |
getExpression()
The current expression that shall be linked.
|
org.eclipse.xtext.common.types.JvmIdentifiableElement |
getFeature()
The currently considered feature (if any).
|
XAbstractFeatureCall |
getFeatureCall()
Returns the feature call that is linked.
|
protected java.lang.String |
getFeatureTypeName() |
ILinkingCandidate |
getPreferredCandidate(ILinkingCandidate other)
Produces the best candidate for the current two candidates.
|
FeatureLinkingCandidate |
getRejectedCandidate() |
java.util.List<LightweightTypeReference> |
getTypeArguments()
The resolved type arguments.
|
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. |
boolean |
validate(org.eclipse.xtext.util.IAcceptor<? super org.eclipse.xtext.diagnostics.AbstractDiagnostic> result)
Produce diagnostics for this condidate.
|
protected SuspiciouslyOverloadedCandidate(FeatureLinkingCandidate chosenCandidate, FeatureLinkingCandidate rejectedCandidate)
public FeatureLinkingCandidate getChosenCandidate()
getChosenCandidate in interface ISuspiciouslyOverloadedCandidatepublic FeatureLinkingCandidate getRejectedCandidate()
getRejectedCandidate in interface ISuspiciouslyOverloadedCandidatepublic 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 ILinkingCandidateprotected CandidateCompareResult compareTo(AbstractPendingLinkingCandidate<?> right)
public void applyToComputationState()
ILinkingCandidateapplyToComputationState in interface ILinkingCandidatepublic void applyToModel(IResolvedTypes resolvedTypes)
ILinkingCandidateresolve
of EMF. This implies that the linked feature call may still point to a proxy afterwards.applyToModel in interface IApplicableCandidateapplyToModel in interface ILinkingCandidatepublic boolean validate(org.eclipse.xtext.util.IAcceptor<? super org.eclipse.xtext.diagnostics.AbstractDiagnostic> result)
IApplicableCandidatevalidate in interface IApplicableCandidatetrue if further validation should be performed.protected void appendCandidate(FeatureLinkingCandidate candidate, java.lang.StringBuilder result)
protected java.lang.String getFeatureTypeName()
protected java.lang.String getDeclaratorSimpleName(org.eclipse.xtext.common.types.JvmIdentifiableElement element)
public org.eclipse.xtext.common.types.JvmIdentifiableElement getFeature()
ILinkingCandidatenull.getFeature in interface ILinkingCandidatepublic XExpression getExpression()
ILinkingCandidategetExpression in interface ILinkingCandidatepublic java.util.List<LightweightTypeReference> getTypeArguments()
ILinkingCandidategetTypeArguments in interface ILinkingCandidatepublic XAbstractFeatureCall getFeatureCall()
IFeatureLinkingCandidategetFeatureCall in interface IFeatureLinkingCandidatepublic boolean isStatic()
IFeatureLinkingCandidatetrue if the the linked feature is static.isStatic in interface IFeatureLinkingCandidatepublic boolean isExtension()
IFeatureLinkingCandidatetrue if the the linked feature is contributed
by an extension.isExtension in interface IFeatureLinkingCandidatepublic boolean isTypeLiteral()
IFeatureLinkingCandidatetrue if the the feature call is linked as a type literal.isTypeLiteral in interface IFeatureLinkingCandidate