public abstract class AbstractUnresolvableReference extends java.lang.Object implements ILinkingCandidate
| Constructor and Description |
|---|
AbstractUnresolvableReference(XExpression expression,
ExpressionTypeComputationState state) |
| Modifier and Type | Method and Description |
|---|---|
void |
applyToComputationState()
Apply this candidate to the current computation state model.
|
protected void |
applyType() |
protected void |
computeArgumentTypes() |
protected abstract java.util.List<XExpression> |
getArguments() |
org.eclipse.emf.ecore.EObject |
getContext() |
XExpression |
getExpression()
The current expression that shall be linked.
|
org.eclipse.xtext.common.types.JvmIdentifiableElement |
getFeature()
The currently considered feature (if any).
|
ILinkingCandidate |
getPreferredCandidate(ILinkingCandidate other)
Produces the best candidate for the current two candidates.
|
protected StackedResolvedTypes |
getResolvedTypes() |
protected ExpressionTypeComputationState |
getState() |
boolean |
validate(org.eclipse.xtext.util.IAcceptor<? super org.eclipse.xtext.diagnostics.AbstractDiagnostic> result)
Produce diagnostics for this condidate.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitapplyToModel, getTypeArgumentspublic AbstractUnresolvableReference(XExpression expression, ExpressionTypeComputationState state)
public XExpression getExpression()
ILinkingCandidategetExpression in interface ILinkingCandidatepublic void applyToComputationState()
ILinkingCandidateapplyToComputationState in interface ILinkingCandidateprotected void applyType()
protected ExpressionTypeComputationState getState()
protected StackedResolvedTypes getResolvedTypes()
public 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 computeArgumentTypes()
protected abstract java.util.List<XExpression> getArguments()
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 org.eclipse.xtext.common.types.JvmIdentifiableElement getFeature()
ILinkingCandidatenull.getFeature in interface ILinkingCandidatepublic org.eclipse.emf.ecore.EObject getContext()