@NonNullByDefault public class ConstructorLinkingCandidate extends AbstractPendingLinkingCandidate<XConstructorCall> implements IConstructorLinkingCandidate
AbstractLinkingCandidate.ArgumentTypeComputationState, AbstractLinkingCandidate.ObservableTypeExpectation
description
arguments, typeArguments
Constructor and Description |
---|
ConstructorLinkingCandidate(XConstructorCall constructorCall,
IIdentifiableElementDescription description,
ITypeExpectation expectation,
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 ILinkingCandidate |
createAmbiguousLinkingCandidate(AbstractPendingLinkingCandidate<?> second)
Produce a candidate that carries the information about ambiguous candidates.
|
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()
Returns the name of the feature type, e.g. a feature of type
JvmOperation may
return method , a XVariableDeclaration may identify itself as local variable . |
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)
Validates this linking candidate and adds respective diagnostics to the given queue.
|
compareByArgumentTypes, compareByArgumentTypes, compareByArgumentTypes, compareByArgumentTypes, compareByArity, compareByArityWith, compareByBucket, compareByTypeArguments, compareExpectedArgumentTypes, compareTo, createSuspiciousLinkingCandidate, getArgumentTypesAsString, getArityMismatch, getArityMismatch, getConformanceHints, getExpectedTypeCompareResultOther, 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, ITypeExpectation expectation, ExpressionTypeComputationState state)
public JvmConstructor getConstructor()
getConstructor
in interface IConstructorLinkingCandidate
public XConstructorCall getConstructorCall()
getConstructorCall
in interface IConstructorLinkingCandidate
protected ILinkingCandidate createAmbiguousLinkingCandidate(AbstractPendingLinkingCandidate<?> second)
AbstractPendingLinkingCandidate
createAmbiguousLinkingCandidate
in class AbstractPendingLinkingCandidate<XConstructorCall>
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)
AbstractPendingLinkingCandidate
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()
AbstractPendingLinkingCandidate
JvmOperation
may
return method
, a XVariableDeclaration
may identify itself as local variable
.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>