Klasse ParameterizedGenericMethodBinding
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
- Alle implementierten Schnittstellen:
Substitution
- Bekannte direkte Unterklassen:
PolyParameterizedGenericMethodBinding
public class ParameterizedGenericMethodBinding
extends ParameterizedMethodBinding
implements Substitution
Binding denoting a generic method after type parameter substitutions got performed.
On parameterized type bindings, all methods got substituted, regardless whether
their signature did involve generics or not, so as to get the proper declaringClass for
these methods.
-
Verschachtelte Klassen - Übersicht
Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Substitution
Substitution.NullSubstitution
-
Feldübersicht
Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
originalMethod
Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding
declaringClass, defaultNullness, extendedTagBits, modifiers, parameterNames, parameterNonNullness, parameters, receiver, returnType, selector, tagBits, thrownExceptions, typeAnnotations, typeVariables
Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
ANY_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_COMPONENTS, 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_PERMITTEDTYPES, NO_PLAIN_PACKAGES, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, PATTERN, POLY_TYPE, RAW_TYPE, RECORD_COMPONENT, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_COMPONENTS, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE
-
Konstruktorübersicht
KonstruktorBeschreibungParameterizedGenericMethodBinding
(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 typeParameterizedGenericMethodBinding
(MethodBinding originalMethod, TypeBinding[] typeArguments, LookupEnvironment environment, boolean inferredWithUncheckConversion, boolean hasReturnProblem, TypeBinding targetType) Create method of parameterized type, substituting original parameters with type arguments. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
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 typestatic MethodBinding
computeCompatibleMethod18
(MethodBinding originalMethod, TypeBinding[] arguments, Scope scope, InvocationSite invocationSite) char[]
computeUniqueKey
(boolean isLeaf) Returns the lookup environmentgetAccessMethod
(boolean staticReference) This will only be called if alwaysNeedsAccessMethod() returns true.boolean
Returns true if some parameters got substituted.boolean
Returns true if the return type got substituted.boolean
boolean
Returns true for raw substitutionsubstitute
(TypeVariableBinding originalVariable) Returns the type substitute for a given type variable, or itself if no substitution got performed.Returns the method to use during tiebreak (usually the method itself).Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
canBeSeenBy, instantiateGetClass, original, shallowOriginal, sourceMethod
Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding
areParameterErasuresEqual, areParametersCompatibleWith, areParametersEqual, areTypeVariableErasuresEqual, asRawMethod, canBeSeenBy, canBeSeenBy, collectMissingTypes, computeSignature, computeSubstitutedMethod, constantPoolName, doesParameterLengthMatch, fillInDefaultNonNullness, fillInDefaultNonNullness18, findOriginalInheritedMethod, findPrivilegedBinding, genericSignature, getAccessFlags, getAllTypeVariables, getAnnotations, getAnnotationTagBits, getDefaultValue, getParameterAnnotations, getTypeAnnotations, getTypeVariable, getVisibleBinding, getVisibleBinding, hasNonNullDefaultForParameter, hasNonNullDefaultForReturnType, hasPolymorphicSignature, isAbstract, isBridge, isCanonicalConstructor, isCompactConstructor, isConstructor, isDefault, isDefaultAbstract, isDefaultMethod, isDeprecated, isFinal, isImplementing, isImplicit, 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, sourceRecordComponent, sourceStart, toString, typeVariables, updateTypeVariableBinding
Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isAnnotationType, isParameter, isTaggedRepeatable, isValid, isValidBinding, isVolatile, problemId, setAnnotations
-
Felddetails
-
typeArguments
-
environment
-
inferredReturnType
public boolean inferredReturnType -
wasInferred
public boolean wasInferred -
isRaw
public boolean isRaw -
inferredWithUncheckedConversion
public boolean inferredWithUncheckedConversion -
targetType
-
-
Konstruktordetails
-
ParameterizedGenericMethodBinding
public 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
public ParameterizedGenericMethodBinding(MethodBinding originalMethod, TypeBinding[] typeArguments, LookupEnvironment environment, boolean inferredWithUncheckConversion, boolean hasReturnProblem, TypeBinding targetType) Create method of parameterized type, substituting original parameters with type arguments.
-
-
Methodendetails
-
computeCompatibleMethod
public static MethodBinding computeCompatibleMethod(MethodBinding originalMethod, TypeBinding[] arguments, Scope scope, InvocationSite invocationSite) Perform inference of generic method type parameters and/or expected typeIn 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.
-
computeCompatibleMethod18
public static MethodBinding computeCompatibleMethod18(MethodBinding originalMethod, TypeBinding[] arguments, Scope scope, InvocationSite invocationSite) -
computeUniqueKey
public char[] computeUniqueKey(boolean isLeaf) - Setzt außer Kraft:
computeUniqueKey
in KlasseMethodBinding
-
environment
Beschreibung aus Schnittstelle kopiert:Substitution
Returns the lookup environment- Angegeben von:
environment
in SchnittstelleSubstitution
- Siehe auch:
-
hasSubstitutedParameters
public boolean hasSubstitutedParameters()Returns true if some parameters got substituted. NOTE: generic method invocation delegates to its declaring method (could be a parameterized one)- Setzt außer Kraft:
hasSubstitutedParameters
in KlasseParameterizedMethodBinding
-
hasSubstitutedReturnType
public boolean hasSubstitutedReturnType()Returns true if the return type got substituted. NOTE: generic method invocation delegates to its declaring method (could be a parameterized one)- Setzt außer Kraft:
hasSubstitutedReturnType
in KlasseParameterizedMethodBinding
-
isParameterizedGeneric
public boolean isParameterizedGeneric()- Setzt außer Kraft:
isParameterizedGeneric
in KlasseMethodBinding
-
isRawSubstitution
public boolean isRawSubstitution()Beschreibung aus Schnittstelle kopiert:Substitution
Returns true for raw substitution- Angegeben von:
isRawSubstitution
in SchnittstelleSubstitution
- Siehe auch:
-
substitute
Beschreibung aus Schnittstelle kopiert:Substitution
Returns the type substitute for a given type variable, or itself if no substitution got performed.- Angegeben von:
substitute
in SchnittstelleSubstitution
- Siehe auch:
-
tiebreakMethod
Beschreibung aus Klasse kopiert:MethodBinding
Returns the method to use during tiebreak (usually the method itself). For generic method invocations, tiebreak needs to use generic method with erasure substitutes.- Setzt außer Kraft:
tiebreakMethod
in KlasseMethodBinding
- Siehe auch:
-
genericMethod
- Setzt außer Kraft:
genericMethod
in KlasseMethodBinding
-
alwaysNeedsAccessMethod
public boolean alwaysNeedsAccessMethod()Beschreibung aus Klasse kopiert:MethodBinding
Subtypes can override this to return true if an access method should be used when referring to this method binding. Currently used for AspectJ's inter-type method declarations.- Setzt außer Kraft:
alwaysNeedsAccessMethod
in KlasseParameterizedMethodBinding
-
getAccessMethod
Beschreibung aus Klasse kopiert:MethodBinding
This will only be called if alwaysNeedsAccessMethod() returns true. In that case it should return the access method to be used.- Setzt außer Kraft:
getAccessMethod
in KlasseParameterizedMethodBinding
-