public class ParameterizedGenericMethodBinding extends ParameterizedMethodBinding implements Substitution
Substitution.NullSubstitution| Modifier and Type | Field and Description |
|---|---|
protected LookupEnvironment |
environment |
boolean |
inferredReturnType |
boolean |
inferredWithUncheckedConversion |
boolean |
isRaw |
TypeBinding |
targetType |
TypeBinding[] |
typeArguments |
boolean |
wasInferred |
originalMethoddeclaringClass, defaultNullness, modifiers, parameterNames, parameterNonNullness, parameters, receiver, returnType, selector, tagBits, thrownExceptions, typeAnnotations, typeVariablesANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, DefaultLocationArrayContents, DefaultLocationField, DefaultLocationParameter, DefaultLocationReturnType, DefaultLocationsForTrueValue, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, INTERSECTION_TYPE18, LOCAL, METHOD, MODULE, NO_ANNOTATIONS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_MODULES, NO_NULL_DEFAULT, NO_PACKAGES, NO_PARAMETER_NAMES, NO_PARAMETERS, NO_PLAIN_PACKAGES, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, POLY_TYPE, RAW_TYPE, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE| Constructor and Description |
|---|
ParameterizedGenericMethodBinding(MethodBinding originalMethod,
RawTypeBinding rawType,
LookupEnvironment environment)
Create raw generic method for raw type (double substitution from type vars with raw type arguments, and erasure of method variables)
Only invoked for non-static generic methods of raw type
|
ParameterizedGenericMethodBinding(MethodBinding originalMethod,
TypeBinding[] typeArguments,
LookupEnvironment environment,
boolean inferredWithUncheckConversion,
boolean hasReturnProblem,
TypeBinding targetType)
Create method of parameterized type, substituting original parameters with type arguments.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
alwaysNeedsAccessMethod()
Subtypes can override this to return true if an access method should be
used when referring to this method binding.
|
static MethodBinding |
computeCompatibleMethod(MethodBinding originalMethod,
TypeBinding[] arguments,
Scope scope,
InvocationSite invocationSite)
Perform inference of generic method type parameters and/or expected type
|
static MethodBinding |
computeCompatibleMethod18(MethodBinding originalMethod,
TypeBinding[] arguments,
Scope scope,
InvocationSite invocationSite) |
char[] |
computeUniqueKey(boolean isLeaf) |
LookupEnvironment |
environment()
Returns the lookup environment
|
MethodBinding |
genericMethod() |
MethodBinding |
getAccessMethod(boolean staticReference)
This will only be called if alwaysNeedsAccessMethod() returns true.
|
boolean |
hasSubstitutedParameters()
Returns true if some parameters got substituted.
|
boolean |
hasSubstitutedReturnType()
Returns true if the return type got substituted.
|
boolean |
isParameterizedGeneric() |
boolean |
isRawSubstitution()
Returns true for raw substitution
|
TypeBinding |
substitute(TypeVariableBinding originalVariable)
Returns the type substitute for a given type variable, or itself
if no substitution got performed.
|
MethodBinding |
tiebreakMethod()
Returns the method to use during tiebreak (usually the method itself).
|
canBeSeenBy, instantiateGetClass, original, shallowOriginal, sourceMethodareParameterErasuresEqual, areParametersCompatibleWith, areParametersEqual, areTypeVariableErasuresEqual, asRawMethod, canBeSeenBy, canBeSeenBy, collectMissingTypes, computeSubstitutedMethod, constantPoolName, doesParameterLengthMatch, fillInDefaultNonNullness, fillInDefaultNonNullness18, findOriginalInheritedMethod, findPrivilegedBinding, genericSignature, getAccessFlags, getAllTypeVariables, getAnnotations, getAnnotationTagBits, getDefaultValue, getParameterAnnotations, getTypeAnnotations, getTypeVariable, getVisibleBinding, getVisibleBinding, hasNonNullDefaultForParameter, hasNonNullDefaultForReturnType, isAbstract, isBridge, isConstructor, isDefault, isDefaultAbstract, isDefaultMethod, isDeprecated, isFinal, isImplementing, isMain, isNative, isOrEnclosedByPrivateType, isOverriding, isPolymorphic, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSynchronized, isSynthetic, isUsed, isVarargs, isViewedAsDeprecated, isVoidMethod, kind, readableName, redeclaresPublicObjectMethod, setAnnotations, setAnnotations, setDefaultValue, setParameterAnnotations, setSelector, setTypeAnnotations, shortReadableName, signature, signature, sourceEnd, sourceLambda, sourceStart, toString, typeVariables, updateTypeVariableBindingcomputeUniqueKey, initializeDeprecatedAnnotationTagBits, isAnnotationType, isParameter, isTaggedRepeatable, isValid, isValidBinding, isVolatile, problemId, setAnnotationspublic TypeBinding[] typeArguments
protected LookupEnvironment environment
public boolean inferredReturnType
public boolean wasInferred
public boolean isRaw
public boolean inferredWithUncheckedConversion
public TypeBinding targetType
public ParameterizedGenericMethodBinding(MethodBinding originalMethod, RawTypeBinding rawType, LookupEnvironment environment)
public ParameterizedGenericMethodBinding(MethodBinding originalMethod, TypeBinding[] typeArguments, LookupEnvironment environment, boolean inferredWithUncheckConversion, boolean hasReturnProblem, TypeBinding targetType)
public static MethodBinding computeCompatibleMethod(MethodBinding originalMethod, TypeBinding[] arguments, Scope scope, InvocationSite invocationSite)
In 1.8+ if the expected type is not yet available due to this call being an argument to an outer call which is not overload-resolved yet, the returned method binding will be a PolyParameterizedGenericMethodBinding.
public static MethodBinding computeCompatibleMethod18(MethodBinding originalMethod, TypeBinding[] arguments, Scope scope, InvocationSite invocationSite)
public char[] computeUniqueKey(boolean isLeaf)
computeUniqueKey in class MethodBindingpublic LookupEnvironment environment()
Substitutionenvironment in interface SubstitutionSubstitution.environment()public boolean hasSubstitutedParameters()
hasSubstitutedParameters in class ParameterizedMethodBindingpublic boolean hasSubstitutedReturnType()
hasSubstitutedReturnType in class ParameterizedMethodBindingpublic boolean isParameterizedGeneric()
isParameterizedGeneric in class MethodBindingpublic boolean isRawSubstitution()
SubstitutionisRawSubstitution in interface SubstitutionSubstitution.isRawSubstitution()public TypeBinding substitute(TypeVariableBinding originalVariable)
Substitutionsubstitute in interface SubstitutionSubstitution.substitute(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding)public MethodBinding tiebreakMethod()
MethodBindingtiebreakMethod in class MethodBindingMethodBinding.tiebreakMethod()public MethodBinding genericMethod()
genericMethod in class MethodBindingpublic boolean alwaysNeedsAccessMethod()
MethodBindingalwaysNeedsAccessMethod in class ParameterizedMethodBindingpublic MethodBinding getAccessMethod(boolean staticReference)
MethodBindinggetAccessMethod in class ParameterizedMethodBinding