|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.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
public class ParameterizedGenericMethodBinding
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.
| Field Summary | |
|---|---|
boolean |
inferredReturnType
|
boolean |
isRaw
|
TypeBinding[] |
typeArguments
|
boolean |
wasInferred
|
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding |
|---|
originalMethod |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding |
|---|
declaringClass, modifiers, parameters, returnType, selector, tagBits, thrownExceptions, typeVariables |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding |
|---|
ANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, LOCAL, METHOD, NO_ANNOTATIONS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_PARAMETERS, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, PACKAGE, PARAMETERIZED_TYPE, RAW_TYPE, TYPE, TYPE_PARAMETER, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE |
| Constructor Summary | |
|---|---|
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)
Create method of parameterized type, substituting original parameters with type arguments. |
|
| Method Summary | |
|---|---|
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 |
char[] |
computeUniqueKey(boolean isLeaf)
|
LookupEnvironment |
environment()
Returns the lookup environment |
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 |
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). |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding |
|---|
canBeSeenBy, instantiateGetClass, original, sourceMethod |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding |
|---|
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isValidBinding, isVolatile, problemId |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public TypeBinding[] typeArguments
public boolean inferredReturnType
public boolean wasInferred
public boolean isRaw
| Constructor Detail |
|---|
public ParameterizedGenericMethodBinding(MethodBinding originalMethod,
RawTypeBinding rawType,
LookupEnvironment environment)
public ParameterizedGenericMethodBinding(MethodBinding originalMethod,
TypeBinding[] typeArguments,
LookupEnvironment environment)
| Method Detail |
|---|
public static MethodBinding computeCompatibleMethod(MethodBinding originalMethod,
TypeBinding[] arguments,
Scope scope,
InvocationSite invocationSite)
public char[] computeUniqueKey(boolean isLeaf)
computeUniqueKey in class MethodBindingpublic LookupEnvironment environment()
Substitution
environment in interface SubstitutionSubstitution.environment()public boolean hasSubstitutedParameters()
hasSubstitutedParameters in class ParameterizedMethodBindingpublic boolean hasSubstitutedReturnType()
hasSubstitutedReturnType in class ParameterizedMethodBindingpublic boolean isRawSubstitution()
Substitution
isRawSubstitution in interface SubstitutionSubstitution.isRawSubstitution()public TypeBinding substitute(TypeVariableBinding originalVariable)
Substitution
substitute in interface SubstitutionSubstitution.substitute(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding)public MethodBinding tiebreakMethod()
MethodBinding
tiebreakMethod in class MethodBindingMethodBinding.tiebreakMethod()public boolean alwaysNeedsAccessMethod()
MethodBinding
alwaysNeedsAccessMethod in class ParameterizedMethodBindingpublic MethodBinding getAccessMethod(boolean staticReference)
MethodBinding
getAccessMethod in class ParameterizedMethodBinding
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||