Methods
Modifier and Type |
Method and Description |
protected void |
accept(AbstractLinkingCandidate.ObservableTypeExpectation expectation,
LightweightTypeReference actual) |
void |
applyToComputationState()
Apply this candidate to the current computation state model.
|
protected void |
computeArgumentType(IFeatureCallArgumentSlot slot) |
void |
computeArgumentTypes() |
protected void |
computeFixedArityArgumentType(IFeatureCallArgumentSlot slot,
TypeParameterSubstitutor<?> substitutor) |
protected void |
computeVarArgumentType(IFeatureCallArgumentSlot slot,
TypeParameterSubstitutor<?> substitutor) |
protected TypeParameterSubstitutor<?> |
createArgumentTypeSubstitutor() |
protected AbstractLinkingCandidate.ArgumentTypeComputationState |
createLinkingTypeComputationState(LightweightTypeReference expectedType) |
protected AbstractLinkingCandidate.ArgumentTypeComputationState |
createVarArgTypeComputationState(LightweightTypeReference expectedType) |
protected LightweightTypeReference |
deferredBindTypeArgument(ITypeExpectation expectation,
LightweightTypeReference type) |
protected void |
discardRefinementTypeIfReassigned() |
protected LightweightTypeReference |
getActualType(JvmIdentifiableElement element,
boolean ignoreReassignedTypes)
Returns the actual type of the given element.
|
protected LightweightTypeReference |
getActualType(XExpression expression) |
protected abstract java.util.List<XExpression> |
getArguments() |
protected java.util.Map<JvmTypeParameter,LightweightMergedBoundTypeArgument> |
getDeclaratorParameterMapping() |
protected LightweightTypeReference |
getDeclaredType(JvmIdentifiableElement feature) |
protected java.util.List<JvmTypeParameter> |
getDeclaredTypeParameters() |
protected LightweightTypeReference |
getExpectedType(XExpression expression) |
Expression |
getExpression()
The current expression that shall be linked.
|
abstract JvmIdentifiableElement |
getFeature()
The currently considered feature (if any).
|
protected abstract java.util.List<JvmTypeReference> |
getPlainSyntacticTypeArguments() |
protected ExpressionTypeComputationState |
getState() |
protected LightweightTypeReference |
getSubstitutedExpectedType(int argumentIndex)
Returns the substituted expected type for the argument at argumentIndex .
|
protected java.util.List<LightweightTypeReference> |
getSyntacticTypeArguments() |
java.util.List<LightweightTypeReference> |
getTypeArguments()
The resolved type arguments.
|
protected abstract java.util.Map<JvmTypeParameter,LightweightMergedBoundTypeArgument> |
getTypeParameterMapping() |
protected boolean |
hasReceiver()
Returns true if the argument at index 0 will be considered as the receiver.
|
protected void |
initializeArgumentTypeComputation() |
protected void |
initializeConstraintMapping(JvmTypeParameter typeParameter,
UnboundTypeParameterPreservingSubstitutor substitutor,
UnboundTypeReference typeReference) |
protected void |
initializeMapping(JvmTypeParameter typeParameter,
java.util.Map<JvmTypeParameter,LightweightMergedBoundTypeArgument> result) |
protected java.util.Map<JvmTypeParameter,LightweightMergedBoundTypeArgument> |
initializeTypeParameterMapping() |
protected java.util.Map<JvmTypeParameter,LightweightMergedBoundTypeArgument> |
initializeTypeParameterMapping(java.util.List<JvmTypeParameter> declaredTypeParameters) |
protected boolean |
isBoundTypeArgumentSkipped(JvmTypeParameter type,
java.util.Map<JvmTypeParameter,LightweightMergedBoundTypeArgument> mapping,
ITypeReferenceOwner owner) |
protected boolean |
isRawTypeContext() |
boolean |
isTypeLiteral() |
protected boolean |
mustDiscardRefinement() |
protected void |
preApply() |
protected void |
resolveAgainstActualType(LightweightTypeReference declaredType,
LightweightTypeReference actualType,
AbstractTypeComputationState state) |
protected void |
resolveArgumentType(XExpression argument,
LightweightTypeReference declaredType,
ITypeComputationState argumentState) |