org.aspectj.org.eclipse.jdt.internal.compiler.lookup
Class ParameterizedTypeBinding

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
      extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
          extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
              extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
All Implemented Interfaces:
Substitution
Direct Known Subclasses:
RawTypeBinding

public class ParameterizedTypeBinding
extends ReferenceBinding
implements Substitution

A parameterized type encapsulates a type with type arguments,


Field Summary
 TypeBinding[] arguments
           
 LookupEnvironment environment
           
 FieldBinding[] fields
           
 char[] genericTypeSignature
           
 ReferenceBinding[] memberTypes
           
 MethodBinding[] methods
           
 ReferenceBinding superclass
           
 ReferenceBinding[] superInterfaces
           
 ReferenceBinding type
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
compoundName, fPackage, LUB_GENERIC, modifiers, samProblemBinding, singleAbstractMethod, sourceName
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOID
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
ANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, DefaultLocationArrayContents, DefaultLocationField, DefaultLocationParameter, DefaultLocationReturnType, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_CAST_TYPE, INTERSECTION_TYPE, LOCAL, METHOD, NO_ANNOTATIONS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_NULL_DEFAULT, NO_PARAMETER_NAMES, NO_PARAMETERS, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NONNULL_BY_DEFAULT, 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 Summary
ParameterizedTypeBinding(ReferenceBinding type, TypeBinding[] arguments, ReferenceBinding enclosingType, LookupEnvironment environment)
           
 
Method Summary
 ReferenceBinding actualType()
          May return an UnresolvedReferenceBinding.
 java.lang.String annotatedDebugName()
           
 void boundCheck(Scope scope, TypeReference[] argumentReferences)
          Iterate type arguments, and validate them according to corresponding variable bounds.
 boolean canBeInstantiated()
          Answer true if the receiver can be instantiated
 TypeBinding capture(Scope scope, int position)
          Perform capture conversion for a parameterized type with wildcard arguments
 TypeBinding clone(TypeBinding outerType)
          Virtual copy constructor: a copy is made of the receiver's entire instance state and then suitably parameterized by the arguments to the clone operation as seen fit by each type.
 java.util.List collectMissingTypes(java.util.List missingTypes)
          Iterate through the type components to collect instances of leaf missing types
 void collectSubstitutes(Scope scope, TypeBinding actualType, InferenceContext inferenceContext, int constraint)
          Collect the substitutes into a map for certain type variables inside the receiver type e.g.
 void computeId()
           
 char[] computeUniqueKey(boolean isLeaf)
          p.X {} -> Lp/X;
 char[] constantPoolName()
          Answer the receiver's constant pool name.
 ParameterizedMethodBinding createParameterizedMethod(MethodBinding originalMethod)
           
 java.lang.String debugName()
           
 ReferenceBinding enclosingType()
           
 LookupEnvironment environment()
          Returns the lookup environment
 TypeBinding erasure()
           
 int fieldCount()
           
 FieldBinding[] fields()
           
 ReferenceBinding genericType()
          Return the original generic type from which the parameterized type got instantiated from.
 char[] genericTypeSignature()
          Ltype
 long getAnnotationTagBits()
          Compute the tagbits for standard annotations.
 int getEnclosingInstancesSlotSize()
           
 MethodBinding getExactConstructor(TypeBinding[] argumentTypes)
           
 MethodBinding getExactMethod(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope)
           
 MethodBinding getExactMethodBase(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope)
           
 FieldBinding getField(char[] fieldName, boolean needResolve)
           
 FieldBinding getField(char[] fieldName, boolean resolve, InvocationSite site, Scope scope)
          Where multiple fields with the same name are defined, this will return the one most visible one...
 ReferenceBinding getMemberType(char[] typeName)
           
 MethodBinding[] getMethods(char[] selector)
           
 MethodBinding[] getMethodsBase(char[] selector)
           
 TypeBinding[] getNonWildcardParameterization(Scope scope)
           
 int getOuterLocalVariablesSlotSize()
           
 MethodBinding getSingleAbstractMethod(Scope scope, boolean replaceWildcards)
          Return the single abstract method of a functional interface, or null, if the receiver is not a functional interface as defined in JLS 9.8.
 boolean hasMemberTypes()
           
 boolean hasTypeBit(int bit)
          Answer an additional bit characterizing this type, like TypeIds.BitAutoCloseable.
 boolean implementsMethod(MethodBinding method)
           
protected  void initializeArguments()
           
 boolean isBoundParameterizedType()
          Returns true if parameterized type AND not of the form List
 boolean isEquivalentTo(TypeBinding otherType)
          Returns true if a type is identical to another one, or for generic types, true if compared to its raw type.
 boolean isHierarchyConnected()
          Returns true if the type hierarchy is connected
 boolean isParameterizedType()
          Returns true if the type is parameterized, e.g.
 boolean isProperType(boolean admitCapture18)
          JLS8 Sect 18.1.1
 boolean isRawSubstitution()
          Returns true for raw substitution
 int kind()
           
 ReferenceBinding[] memberTypes()
           
 boolean mentionsAny(TypeBinding[] parameters, int idx)
          Does this type mention any of the given type parameters, except the one at position 'idx'?
 MethodBinding[] methods()
           
 char[] nullAnnotatedReadableName(CompilerOptions options, boolean shortNames)
          Answer a readable name (for error reporting) that includes nullness type annotations.
 int problemId()
          Define to be able to get the computeId() for the inner type binding.
 char[] qualifiedPackageName()
          Answer the qualified name of the receiver's package separated by periods or an empty string if its the default package.
 char[] qualifiedSourceName()
          Answer the source name for the type.
 char[] readableName()
          Answer the receiver's signature.
 char[] shortReadableName()
           
 char[] signature()
          Answer the receiver classfile signature.
 char[] sourceName()
           
 TypeBinding substitute(TypeVariableBinding originalVariable)
          Returns the type substitute for a given type variable, or itself if no substitution got performed.
 ReferenceBinding superclass()
           
 ReferenceBinding[] superInterfaces()
           
 void swapUnresolved(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env)
           
 ReferenceBinding[] syntheticEnclosingInstanceTypes()
           
 SyntheticArgumentBinding[] syntheticOuterLocalVariables()
           
 java.lang.String toString()
           
 TypeBinding[] typeArguments()
           
 TypeVariableBinding[] typeVariables()
           
 TypeBinding unannotated(boolean removeOnlyNullAnnotations)
          Return this type minus its type annotations
 TypeBinding uncapture(Scope scope)
          Perform capture deconversion for a parameterized type with captured wildcard arguments
 FieldBinding[] unResolvedFields()
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
acceptsNonNullDefault, appendNullAnnotation, applyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, getAccessFlags, getAnnotations, getFileName, getMethods, getPackage, getTypeVariable, hashCode, hasIncompatibleSuperType, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isConsistentIntersection, isDefault, isDeprecated, isEnum, isFinal, isFunctionalInterface, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSubtypeOf, isSubTypeOfRTL, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, outermostEnclosingType, retrieveAnnotationHolder, setAnnotations, setContainerAnnotationType, sortFields, sortMethods, tagAsHavingDefectiveContainerType
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
closestMatch, containerAnnotationType, dimensions, enterRecursiveFunction, equalsEquals, exitRecursiveFunction, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, isAnonymousType, isArrayType, isBaseType, isBoxedPrimitiveType, isCapture, isCompatibleWith, isGenericType, isHierarchyInconsistent, isIntersectionCastType, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, setTypeAnnotations, sIsMoreSpecific, wellKnownType
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isTaggedRepeatable, isValidBinding, isVolatile, setAnnotations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

type

public ReferenceBinding type

arguments

public TypeBinding[] arguments

environment

public LookupEnvironment environment

genericTypeSignature

public char[] genericTypeSignature

superclass

public ReferenceBinding superclass

superInterfaces

public ReferenceBinding[] superInterfaces

fields

public FieldBinding[] fields

memberTypes

public ReferenceBinding[] memberTypes

methods

public MethodBinding[] methods
Constructor Detail

ParameterizedTypeBinding

public ParameterizedTypeBinding(ReferenceBinding type,
                                TypeBinding[] arguments,
                                ReferenceBinding enclosingType,
                                LookupEnvironment environment)
Method Detail

actualType

public ReferenceBinding actualType()
May return an UnresolvedReferenceBinding.

Overrides:
actualType in class TypeBinding
See Also:
genericType()

isParameterizedType

public boolean isParameterizedType()
Description copied from class: TypeBinding
Returns true if the type is parameterized, e.g. List. Note that some instances of ParameterizedTypeBinding have no arguments, like for non-generic members of a parameterized type. Use TypeBinding.isParameterizedTypeWithActualArguments() instead to find out.

Overrides:
isParameterizedType in class TypeBinding

boundCheck

public void boundCheck(Scope scope,
                       TypeReference[] argumentReferences)
Iterate type arguments, and validate them according to corresponding variable bounds.


canBeInstantiated

public boolean canBeInstantiated()
Description copied from class: ReferenceBinding
Answer true if the receiver can be instantiated

Overrides:
canBeInstantiated in class ReferenceBinding
See Also:
ReferenceBinding.canBeInstantiated()

capture

public TypeBinding capture(Scope scope,
                           int position)
Perform capture conversion for a parameterized type with wildcard arguments

Overrides:
capture in class TypeBinding
See Also:
TypeBinding.capture(Scope,int)

uncapture

public TypeBinding uncapture(Scope scope)
Perform capture deconversion for a parameterized type with captured wildcard arguments

Overrides:
uncapture in class TypeBinding
See Also:
TypeBinding.uncapture(Scope)

collectMissingTypes

public java.util.List collectMissingTypes(java.util.List missingTypes)
Description copied from class: TypeBinding
Iterate through the type components to collect instances of leaf missing types

Overrides:
collectMissingTypes in class TypeBinding
Returns:
missing types
See Also:
TypeBinding.collectMissingTypes(java.util.List)

collectSubstitutes

public void collectSubstitutes(Scope scope,
                               TypeBinding actualType,
                               InferenceContext inferenceContext,
                               int constraint)
Collect the substitutes into a map for certain type variables inside the receiver type e.g. Collection.collectSubstitutes(Collection>, Map), will populate Map with: T --> List Constraints: A << F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_EXTENDS (1)) A = F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_EQUAL (0)) A >> F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_SUPER (2))

Overrides:
collectSubstitutes in class TypeBinding

computeId

public void computeId()
Overrides:
computeId in class ReferenceBinding
See Also:
ReferenceBinding.computeId()

computeUniqueKey

public char[] computeUniqueKey(boolean isLeaf)
Description copied from class: ReferenceBinding
p.X {} -> Lp/X;

Overrides:
computeUniqueKey in class ReferenceBinding

constantPoolName

public char[] constantPoolName()
Description copied from class: ReferenceBinding
Answer the receiver's constant pool name. NOTE: This method should only be used during/after code gen.

Overrides:
constantPoolName in class ReferenceBinding
See Also:
TypeBinding.constantPoolName()

clone

public TypeBinding clone(TypeBinding outerType)
Description copied from class: TypeBinding
Virtual copy constructor: a copy is made of the receiver's entire instance state and then suitably parameterized by the arguments to the clone operation as seen fit by each type. Parameters may not make sense for every type in the hierarchy, in which case they are silently ignored. A type may choose to retain a copy of the prototype for reference.

Overrides:
clone in class TypeBinding

createParameterizedMethod

public ParameterizedMethodBinding createParameterizedMethod(MethodBinding originalMethod)

debugName

public java.lang.String debugName()
Overrides:
debugName in class ReferenceBinding
See Also:
TypeBinding.debugName()

annotatedDebugName

public java.lang.String annotatedDebugName()
Overrides:
annotatedDebugName in class TypeBinding

enclosingType

public ReferenceBinding enclosingType()
Overrides:
enclosingType in class TypeBinding
See Also:
TypeBinding.enclosingType()

environment

public LookupEnvironment environment()
Description copied from interface: Substitution
Returns the lookup environment

Specified by:
environment in interface Substitution
See Also:
Substitution.environment()

erasure

public TypeBinding erasure()
Overrides:
erasure in class TypeBinding
See Also:
TypeBinding.erasure()

fieldCount

public int fieldCount()
Overrides:
fieldCount in class ReferenceBinding
See Also:
ReferenceBinding.fieldCount()

fields

public FieldBinding[] fields()
Overrides:
fields in class ReferenceBinding
See Also:
ReferenceBinding.fields()

genericType

public ReferenceBinding genericType()
Return the original generic type from which the parameterized type got instantiated from. This will perform lazy resolution automatically if needed.

See Also:
if no resolution is required (unlikely)

genericTypeSignature

public char[] genericTypeSignature()
Ltype; LY;

Overrides:
genericTypeSignature in class TypeBinding

getAnnotationTagBits

public long getAnnotationTagBits()
Description copied from class: Binding
Compute the tagbits for standard annotations. For source types, these could require lazily resolving corresponding annotation nodes, in case of forward references. For type use bindings, this method still returns the tagbits corresponding to the type declaration binding.

Overrides:
getAnnotationTagBits in class ReferenceBinding
See Also:
ReferenceBinding.getAnnotationTagBits()

getEnclosingInstancesSlotSize

public int getEnclosingInstancesSlotSize()
Overrides:
getEnclosingInstancesSlotSize in class ReferenceBinding
Returns:
the enclosingInstancesSlotSize

getExactConstructor

public MethodBinding getExactConstructor(TypeBinding[] argumentTypes)
Overrides:
getExactConstructor in class ReferenceBinding
See Also:
ReferenceBinding.getExactConstructor(TypeBinding[])

getExactMethodBase

public MethodBinding getExactMethodBase(char[] selector,
                                        TypeBinding[] argumentTypes,
                                        CompilationUnitScope refScope)
See Also:
ReferenceBinding.getExactMethod(char[], TypeBinding[],CompilationUnitScope)

getField

public FieldBinding getField(char[] fieldName,
                             boolean needResolve)
Overrides:
getField in class ReferenceBinding
See Also:
ReferenceBinding.getField(char[], boolean)

getMemberType

public ReferenceBinding getMemberType(char[] typeName)
Overrides:
getMemberType in class ReferenceBinding
See Also:
ReferenceBinding.getMemberType(char[])

getMethodsBase

public MethodBinding[] getMethodsBase(char[] selector)
See Also:
ReferenceBinding.getMethods(char[])

getOuterLocalVariablesSlotSize

public int getOuterLocalVariablesSlotSize()
Overrides:
getOuterLocalVariablesSlotSize in class ReferenceBinding
Returns:
the outerLocalVariablesSlotSize

hasMemberTypes

public boolean hasMemberTypes()
Overrides:
hasMemberTypes in class ReferenceBinding

hasTypeBit

public boolean hasTypeBit(int bit)
Description copied from class: TypeBinding
Answer an additional bit characterizing this type, like TypeIds.BitAutoCloseable.

Overrides:
hasTypeBit in class TypeBinding

implementsMethod

public boolean implementsMethod(MethodBinding method)
See Also:
ReferenceBinding.implementsMethod(MethodBinding)

initializeArguments

protected void initializeArguments()

isBoundParameterizedType

public boolean isBoundParameterizedType()
Returns true if parameterized type AND not of the form List

Overrides:
isBoundParameterizedType in class TypeBinding

isEquivalentTo

public boolean isEquivalentTo(TypeBinding otherType)
Description copied from class: TypeBinding
Returns true if a type is identical to another one, or for generic types, true if compared to its raw type.

Overrides:
isEquivalentTo in class TypeBinding

isHierarchyConnected

public boolean isHierarchyConnected()
Description copied from class: ReferenceBinding
Returns true if the type hierarchy is connected

Overrides:
isHierarchyConnected in class ReferenceBinding

isProperType

public boolean isProperType(boolean admitCapture18)
Description copied from class: TypeBinding
JLS8 Sect 18.1.1

Overrides:
isProperType in class ReferenceBinding
Parameters:
admitCapture18 - request if CaptureBinding18 shuld be considered as a proper type. If unsure say 'true', only in Scope.greaterLowerBound(TypeBinding[], Scope, LookupEnvironment) CaptureBinding18 has to be excluded to prevent an NPE on a branch that heuristically tries to avoid inconsistent intersections.

isRawSubstitution

public boolean isRawSubstitution()
Description copied from interface: Substitution
Returns true for raw substitution

Specified by:
isRawSubstitution in interface Substitution
See Also:
Substitution.isRawSubstitution()

unannotated

public TypeBinding unannotated(boolean removeOnlyNullAnnotations)
Description copied from class: TypeBinding
Return this type minus its type annotations

Overrides:
unannotated in class TypeBinding
Parameters:
removeOnlyNullAnnotations - if true only null type annotations are removed, otherwise all type annotations.

kind

public int kind()
Overrides:
kind in class TypeBinding

memberTypes

public ReferenceBinding[] memberTypes()
Overrides:
memberTypes in class ReferenceBinding
See Also:
ReferenceBinding.memberTypes()

mentionsAny

public boolean mentionsAny(TypeBinding[] parameters,
                           int idx)
Description copied from class: TypeBinding
Does this type mention any of the given type parameters, except the one at position 'idx'?

Overrides:
mentionsAny in class TypeBinding

methods

public MethodBinding[] methods()
Overrides:
methods in class ReferenceBinding
See Also:
ReferenceBinding.methods()

problemId

public int problemId()
Define to be able to get the computeId() for the inner type binding.

Overrides:
problemId in class Binding
See Also:
Binding.problemId()

qualifiedPackageName

public char[] qualifiedPackageName()
Description copied from class: TypeBinding
Answer the qualified name of the receiver's package separated by periods or an empty string if its the default package. For example, {java.util}.

Overrides:
qualifiedPackageName in class TypeBinding
See Also:
TypeBinding.qualifiedPackageName()

qualifiedSourceName

public char[] qualifiedSourceName()
Description copied from class: ReferenceBinding
Answer the source name for the type. In the case of member types, as the qualified name from its top level type. For example, for a member type N defined inside M & A: "A.M.N".

Overrides:
qualifiedSourceName in class ReferenceBinding
See Also:
TypeBinding.qualifiedSourceName()

readableName

public char[] readableName()
Description copied from class: ReferenceBinding
Answer the receiver's signature. NOTE: This method should only be used during/after code gen.

Overrides:
readableName in class ReferenceBinding
See Also:
Binding.readableName()

shortReadableName

public char[] shortReadableName()
Overrides:
shortReadableName in class ReferenceBinding
See Also:
Binding.shortReadableName()

nullAnnotatedReadableName

public char[] nullAnnotatedReadableName(CompilerOptions options,
                                        boolean shortNames)
Description copied from class: TypeBinding
Answer a readable name (for error reporting) that includes nullness type annotations.

Overrides:
nullAnnotatedReadableName in class ReferenceBinding
See Also:
TypeBinding.nullAnnotatedReadableName(CompilerOptions,boolean)

signature

public char[] signature()
Description copied from class: TypeBinding
Answer the receiver classfile signature. Arrays & base types do not distinguish between signature() & constantPoolName(). NOTE: This method should only be used during/after code gen.

Overrides:
signature in class ReferenceBinding
See Also:
TypeBinding.signature()

sourceName

public char[] sourceName()
Overrides:
sourceName in class ReferenceBinding
See Also:
TypeBinding.sourceName()

substitute

public TypeBinding substitute(TypeVariableBinding originalVariable)
Description copied from interface: Substitution
Returns the type substitute for a given type variable, or itself if no substitution got performed.

Specified by:
substitute in interface Substitution
See Also:
Substitution.substitute(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding)

superclass

public ReferenceBinding superclass()
Overrides:
superclass in class ReferenceBinding
See Also:
ReferenceBinding.superclass()

superInterfaces

public ReferenceBinding[] superInterfaces()
Overrides:
superInterfaces in class ReferenceBinding
See Also:
ReferenceBinding.superInterfaces()

swapUnresolved

public void swapUnresolved(UnresolvedReferenceBinding unresolvedType,
                           ReferenceBinding resolvedType,
                           LookupEnvironment env)
Overrides:
swapUnresolved in class TypeBinding

syntheticEnclosingInstanceTypes

public ReferenceBinding[] syntheticEnclosingInstanceTypes()
Overrides:
syntheticEnclosingInstanceTypes in class ReferenceBinding
See Also:
ReferenceBinding.syntheticEnclosingInstanceTypes()

syntheticOuterLocalVariables

public SyntheticArgumentBinding[] syntheticOuterLocalVariables()
Overrides:
syntheticOuterLocalVariables in class TypeBinding
See Also:
TypeBinding.syntheticOuterLocalVariables()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

typeVariables

public TypeVariableBinding[] typeVariables()
Overrides:
typeVariables in class TypeBinding

typeArguments

public TypeBinding[] typeArguments()

unResolvedFields

public FieldBinding[] unResolvedFields()
Overrides:
unResolvedFields in class ReferenceBinding

getSingleAbstractMethod

public MethodBinding getSingleAbstractMethod(Scope scope,
                                             boolean replaceWildcards)
Description copied from class: TypeBinding
Return the single abstract method of a functional interface, or null, if the receiver is not a functional interface as defined in JLS 9.8.

Overrides:
getSingleAbstractMethod in class ReferenceBinding
Parameters:
scope - scope
replaceWildcards - Should wildcards be replaced following JLS 9.8? Say false for lambdas with explicit argument types which should apply 18.5.3
Returns:
The single abstract method of a functional interface, or null, if the receiver is not a functional interface.

getNonWildcardParameterization

public TypeBinding[] getNonWildcardParameterization(Scope scope)

getField

public FieldBinding getField(char[] fieldName,
                             boolean resolve,
                             InvocationSite site,
                             Scope scope)
Description copied from class: ReferenceBinding
Where multiple fields with the same name are defined, this will return the one most visible one... Added for AspectJ to allow proper lookup with inter-type fields

Overrides:
getField in class ReferenceBinding

getExactMethod

public MethodBinding getExactMethod(char[] selector,
                                    TypeBinding[] argumentTypes,
                                    CompilationUnitScope refScope)
Overrides:
getExactMethod in class ReferenceBinding

getMethods

public MethodBinding[] getMethods(char[] selector)
Overrides:
getMethods in class ReferenceBinding