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(IResolvedTypes resolvedTypes)
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 |
isAnonymousClassConstructorCall() |
boolean |
validate(IAcceptor<? super AbstractDiagnostic> result)
Produce diagnostics for this condidate.
|
applyToComputationState, computeArgumentTypes, getContext, 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)
public JvmConstructor getConstructor()
getConstructor
in interface IConstructorLinkingCandidate
public boolean isAnonymousClassConstructorCall()
isAnonymousClassConstructorCall
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
public JvmIdentifiableElement getFeature()
ILinkingCandidate
null
.getFeature
in interface ILinkingCandidate
getFeature
in class AbstractUnresolvableReference
public boolean validate(IAcceptor<? super AbstractDiagnostic> result)
IApplicableCandidate
validate
in interface IApplicableCandidate
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(IResolvedTypes resolvedTypes)
ILinkingCandidate
resolve
of EMF. This implies that the linked feature call may still point to a proxy afterwards.applyToModel
in interface IApplicableCandidate
applyToModel
in interface ILinkingCandidate