@NonNullByDefault public class ConstructorLinkingCandidate extends AbstractPendingLinkingCandidate<XConstructorCall> implements IConstructorLinkingCandidate
AbstractLinkingCandidate.ArgumentTypeComputationState, AbstractLinkingCandidate.ObservableTypeExpectation
description
arguments, typeArguments
Constructor and Description |
---|
ConstructorLinkingCandidate(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 LightweightTypeReference |
deferredBindTypeArgument(ITypeExpectation expectation,
LightweightTypeReference type) |
protected java.util.List<XExpression> |
getArguments() |
JvmConstructor |
getConstructor() |
XConstructorCall |
getConstructorCall() |
java.util.List<JvmTypeParameter> |
getDeclaredTypeParameters() |
protected org.eclipse.emf.ecore.EReference |
getDefaultValidationFeature() |
protected java.lang.String |
getFeatureTypeName() |
protected org.eclipse.emf.ecore.EReference |
getInvalidArgumentsValidationFeature() |
protected java.util.List<LightweightTypeReference> |
getSyntacticTypeArguments() |
protected boolean |
isBoundTypeArgumentSkipped(JvmTypeParameter type,
java.util.Map<JvmTypeParameter,LightweightMergedBoundTypeArgument> mapping,
ITypeReferenceOwner owner) |
boolean |
validate(IAcceptor<? super AbstractDiagnostic> result)
Produce diagnostics for this condidate.
|
compareByArgumentTypes, compareByArgumentTypes, compareByArgumentTypes, compareByArgumentTypes, compareByArity, compareByArityWith, compareByTypeArguments, compareExpectedArgumentTypes, getArgumentTypesAsString, getArityMismatch, getArityMismatch, getConformanceHints, getFeature, getFeatureParameterTypesAsString, getFeatureTypeParametersAsString, getPreferredCandidate, getSyntacticArguments, getTypeArgumentConformanceFailures, getTypeArgumentsAsString, getTypeArityMismatch, getTypeParameterAsString, getTypeParameterMapping, internalSetValue, isDefiniteEarlyExit, isExtension, isVarArgs, isVisible, resolveLinkingProxy, resolveLinkingProxy, toString, validateArity, validateTypeArgumentConformance, validateTypeArity, validateUnhandledExceptions, validateUnhandledExceptions, validateVisibility
accept, applyToComputationState, computeArgumentType, computeArgumentTypes, computeFixedArityArgumentType, computeVarArgumentType, createArgumentTypeSubstitutor, createLinkingTypeComputationState, createVarArgTypeComputationState, getActualType, getActualType, getDeclaratorParameterMapping, getDeclaredType, getExpectedType, getExpression, getState, getSubstitutedExpectedType, getTypeArguments, hasReceiver, initializeArgumentTypeComputation, initializeConstraintMapping, initializeMapping, initializeTypeParameterMapping, initializeTypeParameterMapping, isRawTypeContext, isTypeLiteral, preApply, resolveAgainstActualType, resolveArgumentType
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getTypeArguments
applyToComputationState, getExpression, getFeature, getPreferredCandidate
public ConstructorLinkingCandidate(XConstructorCall constructorCall, IIdentifiableElementDescription description, ExpressionTypeComputationState state)
public JvmConstructor getConstructor()
getConstructor
in interface IConstructorLinkingCandidate
public XConstructorCall getConstructorCall()
getConstructorCall
in interface IConstructorLinkingCandidate
protected java.util.List<XExpression> getArguments()
getArguments
in class AbstractLinkingCandidate<XConstructorCall>
protected LightweightTypeReference deferredBindTypeArgument(ITypeExpectation expectation, LightweightTypeReference type)
deferredBindTypeArgument
in class AbstractLinkingCandidate<XConstructorCall>
public boolean validate(IAcceptor<? super AbstractDiagnostic> result)
ILinkingCandidate
validate
in interface ILinkingCandidate
validate
in class AbstractPendingLinkingCandidate<XConstructorCall>
true
if further validation should be performed.protected boolean isBoundTypeArgumentSkipped(JvmTypeParameter type, java.util.Map<JvmTypeParameter,LightweightMergedBoundTypeArgument> mapping, ITypeReferenceOwner owner)
isBoundTypeArgumentSkipped
in class AbstractLinkingCandidate<XConstructorCall>
protected org.eclipse.emf.ecore.EReference getDefaultValidationFeature()
getDefaultValidationFeature
in class AbstractPendingLinkingCandidate<XConstructorCall>
@Nullable protected org.eclipse.emf.ecore.EReference getInvalidArgumentsValidationFeature()
getInvalidArgumentsValidationFeature
in class AbstractPendingLinkingCandidate<XConstructorCall>
protected java.lang.String getFeatureTypeName()
getFeatureTypeName
in class AbstractPendingLinkingCandidate<XConstructorCall>
protected java.util.List<LightweightTypeReference> getSyntacticTypeArguments()
getSyntacticTypeArguments
in class AbstractLinkingCandidate<XConstructorCall>
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
public java.util.List<JvmTypeParameter> getDeclaredTypeParameters()
getDeclaredTypeParameters
in class AbstractLinkingCandidate<XConstructorCall>