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(IResolvedTypes resolvedTypes)
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() |
protected 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<JvmTypeReference> |
getPlainSyntacticTypeArguments() |
protected java.lang.String |
getSimpleFeatureName() |
boolean |
isAnonymousClassConstructorCall() |
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, compareByArgumentTypesFlags, compareByArity, compareByArityWith, compareByBoxing, compareByBucket, compareByName, compareByTypeArguments, compareDeclaredTypes, compareExpectedArgumentTypes, compareTo, compareTo, createSuspiciousLinkingCandidate, getArgumentTypesAsString, getArityMismatch, getArityMismatch, getConformanceFlags, getExpectedTypeCompareResultOther, getFeature, getFeatureParameterTypesAsString, getFeatureParameterTypesAsString, getFeatureTypeParametersAsString, getPreferredCandidate, getSeverity, getSyntacticArguments, getTypeArgumentConformanceFailures, getTypeArgumentsAsString, getTypeArityMismatch, getTypeParameterAsString, getTypeParameterMapping, getUnhandledExceptionSeverity, isDefiniteEarlyExit, isExtension, isLambdaExpression, isPossibleFunctionType, isVarArgs, isVisible, resolveLinkingProxy, toString, validateArity, validateTypeArgumentConformance, validateTypeArity, validateUnhandledExceptions, validateUnhandledExceptions, validateVisibility
accept, applyToComputationState, computeArgumentType, computeArgumentTypes, computeFixedArityArgumentType, computeVarArgumentType, createArgumentTypeSubstitutor, createLinkingTypeComputationState, createVarArgTypeComputationState, discardRefinementTypeIfReassigned, getActualType, getActualType, getDeclaratorParameterMapping, getDeclaredType, getExpectedType, getExpression, getState, getSubstitutedExpectedType, getSyntacticTypeArguments, getTypeArguments, hasReceiver, initializeArgumentTypeComputation, initializeConstraintMapping, initializeMapping, initializeTypeParameterMapping, initializeTypeParameterMapping, isRawTypeContext, isTypeLiteral, mustDiscardRefinement, 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 IApplicableCandidate
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>
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.lang.String getSimpleFeatureName()
getSimpleFeatureName
in class AbstractPendingLinkingCandidate<XConstructorCall>
public boolean isAnonymousClassConstructorCall()
isAnonymousClassConstructorCall
in interface IConstructorLinkingCandidate
protected java.util.List<JvmTypeReference> getPlainSyntacticTypeArguments()
getPlainSyntacticTypeArguments
in class AbstractLinkingCandidate<XConstructorCall>
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
protected java.util.List<JvmTypeParameter> getDeclaredTypeParameters()
getDeclaredTypeParameters
in class AbstractLinkingCandidate<XConstructorCall>