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.
|
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(IAcceptor<? super AbstractDiagnostic> result)
Produce diagnostics for this condidate.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applyToModel, getTypeArguments
public AbstractUnresolvableReference(XExpression expression, ExpressionTypeComputationState state)
public XExpression getExpression()
ILinkingCandidate
getExpression
in interface ILinkingCandidate
public void applyToComputationState()
ILinkingCandidate
applyToComputationState
in interface ILinkingCandidate
protected void applyType()
protected ExpressionTypeComputationState getState()
protected StackedResolvedTypes getResolvedTypes()
public boolean validate(IAcceptor<? super AbstractDiagnostic> result)
IApplicableCandidate
validate
in interface IApplicableCandidate
true
if further validation should be performed.protected void computeArgumentTypes()
protected abstract java.util.List<XExpression> getArguments()
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(IResolvedTypes)
, and IApplicableCandidate.validate(IAcceptor)
.getPreferredCandidate
in interface ILinkingCandidate
public JvmIdentifiableElement getFeature()
ILinkingCandidate
null
.getFeature
in interface ILinkingCandidate
public org.eclipse.emf.ecore.EObject getContext()