@NonNullByDefault public class TypeInsteadOfConstructorLinkingCandidate extends AbstractUnresolvableReference implements IConstructorLinkingCandidate
Constructor and Description |
---|
TypeInsteadOfConstructorLinkingCandidate(XConstructorCall constructorCall,
IIdentifiableElementDescription description,
ExpressionTypeComputationState state) |
Modifier and Type | Method and Description |
---|---|
void |
applyToModel()
Injects the resolved feature into the model with the same semantics as the implicit
resolve
of EMF. |
protected void |
applyType() |
protected java.util.List<XExpression> |
getArguments() |
JvmConstructor |
getConstructor() |
XConstructorCall |
getConstructorCall() |
JvmIdentifiableElement |
getFeature()
The currently considered feature (if any).
|
java.util.List<LightweightTypeReference> |
getSyntacticTypeArguments() |
java.util.List<LightweightTypeReference> |
getTypeArguments()
The resolved type arguments.
|
boolean |
validate(IAcceptor<? super AbstractDiagnostic> result)
Produce diagnostics for this condidate.
|
applyToComputationState, computeArgumentTypes, getContext, getConverter, getExpression, getPreferredCandidate, getResolvedTypes, getState
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applyToComputationState, getExpression, getPreferredCandidate
public TypeInsteadOfConstructorLinkingCandidate(XConstructorCall constructorCall, IIdentifiableElementDescription description, ExpressionTypeComputationState state)
@Nullable public JvmConstructor getConstructor()
getConstructor
in interface IConstructorLinkingCandidate
protected void applyType()
applyType
in class AbstractUnresolvableReference
public XConstructorCall getConstructorCall()
getConstructorCall
in interface IConstructorLinkingCandidate
protected java.util.List<XExpression> getArguments()
getArguments
in class AbstractUnresolvableReference
@Nullable public JvmIdentifiableElement getFeature()
ILinkingCandidate
null
.getFeature
in interface ILinkingCandidate
getFeature
in class AbstractUnresolvableReference
public boolean validate(IAcceptor<? super AbstractDiagnostic> result)
ILinkingCandidate
validate
in interface ILinkingCandidate
validate
in class AbstractUnresolvableReference
true
if further validation should be performed.public java.util.List<LightweightTypeReference> getTypeArguments()
IConstructorLinkingCandidate
class C<T, V> { publicAn invocation of the constructorC(P p) {} }
C
will return three type arguments, the bound
values of for P
, T
and V
.getTypeArguments
in interface IConstructorLinkingCandidate
getTypeArguments
in interface ILinkingCandidate
public java.util.List<LightweightTypeReference> getSyntacticTypeArguments()
public void applyToModel()
ILinkingCandidate
resolve
of EMF. This implies that the linked feature call may still point to a proxy afterwards.applyToModel
in interface ILinkingCandidate