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

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.SourceTypeBinding
Direct Known Subclasses:
BinaryTypeBinding, HelperInterfaceBinding, NestedTypeBinding

public class SourceTypeBinding
extends ReferenceBinding


Field Summary
 int defaultNullness
           
 FieldBinding[] fields
           
 IMemberFinder memberFinder
           
 ReferenceBinding[] memberTypes
           
 MethodBinding[] methods
           
 ReferenceBinding originalSuperclass
           
 ReferenceBinding[] originalSuperInterfaces
           
 IPrivilegedHandler privilegedHandler
           
protected  SourceTypeBinding prototype
           
 ClassScope scope
           
 ReferenceBinding superclass
           
 ReferenceBinding[] superInterfaces
           
 ITypeFinder typeFinder
           
 TypeVariableBinding[] typeVariables
           
 
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
SourceTypeBinding()
           
SourceTypeBinding(char[][] compoundName, PackageBinding fPackage, ClassScope scope)
           
SourceTypeBinding(SourceTypeBinding prototype)
           
 
Method Summary
 void addField(FieldBinding binding)
           
 void addMethod(MethodBinding binding)
           
 SyntheticMethodBinding addSyntheticArrayMethod(ArrayBinding arrayType, int purpose)
           
 SyntheticMethodBinding addSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge)
           
 SyntheticMethodBinding addSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge, MethodBinding targetMethod)
           
 SyntheticMethodBinding addSyntheticEnumMethod(char[] selector)
           
 SyntheticMethodBinding addSyntheticFactoryMethod(MethodBinding privateConstructor, MethodBinding publicConstructor, TypeBinding[] enclosingInstances)
           
 FieldBinding addSyntheticField(SyntheticFieldBinding sfb)
           
 FieldBinding addSyntheticFieldForAssert(BlockScope blockScope)
           
 FieldBinding addSyntheticFieldForClassLiteral(TypeBinding targetType, BlockScope blockScope)
           
 FieldBinding addSyntheticFieldForEnumValues()
           
 FieldBinding addSyntheticFieldForInnerclass(LocalVariableBinding actualOuterLocalVariable)
           
 FieldBinding addSyntheticFieldForInnerclass(ReferenceBinding enclosingType)
           
 SyntheticFieldBinding addSyntheticFieldForSwitchEnum(char[] fieldName, java.lang.String key)
           
 SyntheticMethodBinding addSyntheticMethod(FieldBinding targetField, boolean isReadAccess, boolean isSuperAccess)
           
 SyntheticMethodBinding addSyntheticMethod(LambdaExpression lambda)
           
 SyntheticMethodBinding addSyntheticMethod(MethodBinding targetMethod, boolean isSuperAccess)
           
 SyntheticMethodBinding addSyntheticMethodForEnumInitialization(int begin, int end)
           
 SyntheticMethodBinding addSyntheticMethodForSwitchEnum(TypeBinding enumBinding)
           
protected  boolean checkRedundantNullnessDefaultOne(ASTNode location, Annotation[] annotations, long nullBits, boolean isJdk18)
           
protected  void checkRedundantNullnessDefaultRecurse(ASTNode location, Annotation[] annotations, long nullBits, boolean isJdk18)
          Recursively check if the given annotations are redundant with equal annotations at an enclosing level.
 TypeBinding clone(TypeBinding immaterial)
          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.
 char[] computeUniqueKey(boolean isLeaf)
          p.X {} -> Lp/X;
 ReferenceBinding containerAnnotationType()
           
 FieldBinding[] fields()
           
 char[] genericSignature()
          
 char[] genericTypeSignature()
          Answer the receiver classfile signature.
 long getAnnotationTagBits()
          Compute the tagbits for standard annotations.
 MethodBinding[] getDefaultAbstractMethods()
           
 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 needResolve, InvocationSite site, Scope scope)
          Where multiple fields with the same name are defined, this will return the one most visible one...
 FieldBinding getFieldBase(char[] fieldName, boolean needResolve)
           
 ReferenceBinding getMemberType(char[] typeName)
           
 MethodBinding[] getMethods(char[] selector)
           
 MethodBinding[] getMethods(char[] selector, int suggestedParameterLength)
           
 MethodBinding[] getMethodsBase(char[] selector)
           
 SyntheticMethodBinding getSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge)
           
 FieldBinding getSyntheticField(LocalVariableBinding actualOuterLocalVariable)
           
 FieldBinding getSyntheticField(ReferenceBinding targetEnclosingType, boolean onlyExactMatch)
           
 boolean hasMemberTypes()
           
 boolean hasTypeBit(int bit)
          Answer an additional bit characterizing this type, like TypeIds.BitAutoCloseable.
 void initializeDeprecatedAnnotationTagBits()
          Compute the tag bits for @Deprecated annotations, avoiding resolving entire annotation if not necessary.
 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 isGenericType()
           
 boolean isHierarchyConnected()
          Returns true if the type hierarchy is connected
 boolean isPrototype()
           
 boolean isRepeatableAnnotationType()
          Answer true if the receiver is an annotation which may be repeatable.
 boolean isTaggedRepeatable()
           
 int kind()
           
 ReferenceBinding[] memberTypes()
           
 MethodBinding[] methods()
           
 MethodBinding[] methodsBase()
           
 TypeBinding prototype()
          Return the primordial type from which the receiver was cloned.
 void rememberTypeHierarchy()
           
 void removeMethod(int index)
           
 FieldBinding resolveTypeFor(FieldBinding field)
           
 MethodBinding resolveTypesFor(MethodBinding method)
           
 AnnotationHolder retrieveAnnotationHolder(Binding binding, boolean forceInitialization)
           
 void setContainerAnnotationType(ReferenceBinding value)
           
 FieldBinding[] setFields(FieldBinding[] fields)
           
 ReferenceBinding[] setMemberTypes(ReferenceBinding[] memberTypes)
           
 MethodBinding[] setMethods(MethodBinding[] methods)
           
 ReferenceBinding setSuperClass(ReferenceBinding superClass)
           
 ReferenceBinding[] setSuperInterfaces(ReferenceBinding[] superInterfaces)
           
 TypeVariableBinding[] setTypeVariables(TypeVariableBinding[] typeVariables)
           
 int sourceEnd()
           
 int sourceStart()
           
 ReferenceBinding superclass()
           
 ReferenceBinding[] superInterfaces()
           
 FieldBinding[] syntheticFields()
          Answer the collection of synthetic fields to append into the classfile
 SyntheticMethodBinding[] syntheticMethods()
           
 void tagAsHavingDefectiveContainerType()
           
 void tagIndirectlyAccessibleMembers()
           
 java.lang.String toString()
           
 TypeVariableBinding[] typeVariables()
           
 TypeBinding unannotated(boolean removeOnlyNullAnnotations)
          Return this type minus its type annotations
 FieldBinding[] unResolvedFields()
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
acceptsNonNullDefault, appendNullAnnotation, applyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeInstantiated, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, constantPoolName, debugName, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, fieldCount, getAccessFlags, getAnnotations, getEnclosingInstancesSlotSize, getFileName, getOuterLocalVariablesSlotSize, getPackage, getSingleAbstractMethod, getTypeVariable, hashCode, hasIncompatibleSuperType, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isConsistentIntersection, isDefault, isDeprecated, isEnum, isFinal, isFunctionalInterface, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isOrEnclosedByPrivateType, isPrivate, isProperType, isProtected, isPublic, isStatic, isStrictfp, isSubtypeOf, isSubTypeOfRTL, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, nullAnnotatedReadableName, outermostEnclosingType, qualifiedSourceName, readableName, setAnnotations, shortReadableName, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypes
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
actualType, annotatedDebugName, capture, closestMatch, collectMissingTypes, collectSubstitutes, dimensions, enclosingType, enterRecursiveFunction, equalsEquals, erasure, exitRecursiveFunction, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isCapture, isCompatibleWith, isHierarchyInconsistent, isIntersectionCastType, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isReifiable, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, mentionsAny, needsUncheckedConversion, notEquals, original, qualifiedPackageName, setTypeAnnotations, sIsMoreSpecific, swapUnresolved, syntheticOuterLocalVariables, uncapture, wellKnownType
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, isParameter, isValidBinding, isVolatile, problemId, setAnnotations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

superclass

public ReferenceBinding superclass

superInterfaces

public ReferenceBinding[] superInterfaces

fields

public FieldBinding[] fields

methods

public MethodBinding[] methods

memberTypes

public ReferenceBinding[] memberTypes

typeVariables

public TypeVariableBinding[] typeVariables

originalSuperclass

public ReferenceBinding originalSuperclass

originalSuperInterfaces

public ReferenceBinding[] originalSuperInterfaces

privilegedHandler

public IPrivilegedHandler privilegedHandler

memberFinder

public IMemberFinder memberFinder

typeFinder

public ITypeFinder typeFinder

scope

public ClassScope scope

prototype

protected SourceTypeBinding prototype

defaultNullness

public int defaultNullness
Constructor Detail

SourceTypeBinding

public SourceTypeBinding()

SourceTypeBinding

public SourceTypeBinding(char[][] compoundName,
                         PackageBinding fPackage,
                         ClassScope scope)

SourceTypeBinding

public SourceTypeBinding(SourceTypeBinding prototype)
Method Detail

addSyntheticFieldForInnerclass

public FieldBinding addSyntheticFieldForInnerclass(LocalVariableBinding actualOuterLocalVariable)

addSyntheticFieldForInnerclass

public FieldBinding addSyntheticFieldForInnerclass(ReferenceBinding enclosingType)

addSyntheticFieldForClassLiteral

public FieldBinding addSyntheticFieldForClassLiteral(TypeBinding targetType,
                                                     BlockScope blockScope)

addSyntheticFieldForAssert

public FieldBinding addSyntheticFieldForAssert(BlockScope blockScope)

addSyntheticFieldForEnumValues

public FieldBinding addSyntheticFieldForEnumValues()

addSyntheticField

public FieldBinding addSyntheticField(SyntheticFieldBinding sfb)

addSyntheticMethod

public SyntheticMethodBinding addSyntheticMethod(FieldBinding targetField,
                                                 boolean isReadAccess,
                                                 boolean isSuperAccess)

addSyntheticEnumMethod

public SyntheticMethodBinding addSyntheticEnumMethod(char[] selector)

addSyntheticFieldForSwitchEnum

public SyntheticFieldBinding addSyntheticFieldForSwitchEnum(char[] fieldName,
                                                            java.lang.String key)

addSyntheticMethodForSwitchEnum

public SyntheticMethodBinding addSyntheticMethodForSwitchEnum(TypeBinding enumBinding)

addSyntheticMethodForEnumInitialization

public SyntheticMethodBinding addSyntheticMethodForEnumInitialization(int begin,
                                                                      int end)

addSyntheticMethod

public SyntheticMethodBinding addSyntheticMethod(LambdaExpression lambda)

addSyntheticMethod

public SyntheticMethodBinding addSyntheticMethod(MethodBinding targetMethod,
                                                 boolean isSuperAccess)

addSyntheticArrayMethod

public SyntheticMethodBinding addSyntheticArrayMethod(ArrayBinding arrayType,
                                                      int purpose)

addSyntheticFactoryMethod

public SyntheticMethodBinding addSyntheticFactoryMethod(MethodBinding privateConstructor,
                                                        MethodBinding publicConstructor,
                                                        TypeBinding[] enclosingInstances)

addSyntheticBridgeMethod

public SyntheticMethodBinding addSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge,
                                                       MethodBinding targetMethod)

addSyntheticBridgeMethod

public SyntheticMethodBinding addSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge)

kind

public int kind()
Overrides:
kind in class TypeBinding

clone

public TypeBinding clone(TypeBinding immaterial)
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

computeUniqueKey

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

Overrides:
computeUniqueKey in class ReferenceBinding

fields

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

genericTypeSignature

public char[] genericTypeSignature()
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:
genericTypeSignature in class TypeBinding
See Also:
TypeBinding.genericTypeSignature()

genericSignature

public char[] genericSignature()
superclass superinterface1 ... superinterfaceN ;U:Ljava/lang/Object;V::Ljava/lang/Runnable;:Ljava/lang/Cloneable;:Ljava/util/Map;>Ljava/lang/Exception;Ljava/lang/Runnable;


getAnnotationTagBits

public long getAnnotationTagBits()
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:
Binding.getAnnotationTagBits()

getDefaultAbstractMethods

public MethodBinding[] getDefaultAbstractMethods()

getExactConstructor

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

getExactMethod

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

getExactMethodBase

public MethodBinding getExactMethodBase(char[] selector,
                                        TypeBinding[] argumentTypes,
                                        CompilationUnitScope refScope)

getField

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

getField

public FieldBinding getField(char[] fieldName,
                             boolean needResolve,
                             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

getFieldBase

public FieldBinding getFieldBase(char[] fieldName,
                                 boolean needResolve)

getMethods

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

getMethods

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

getMethodsBase

public MethodBinding[] getMethodsBase(char[] selector)

getSyntheticField

public FieldBinding getSyntheticField(LocalVariableBinding actualOuterLocalVariable)

getSyntheticField

public FieldBinding getSyntheticField(ReferenceBinding targetEnclosingType,
                                      boolean onlyExactMatch)

getSyntheticBridgeMethod

public SyntheticMethodBinding getSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge)

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

initializeDeprecatedAnnotationTagBits

public void initializeDeprecatedAnnotationTagBits()
Description copied from class: Binding
Compute the tag bits for @Deprecated annotations, avoiding resolving entire annotation if not necessary.

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

isEquivalentTo

public 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.

Overrides:
isEquivalentTo in class TypeBinding

isGenericType

public boolean isGenericType()
Overrides:
isGenericType 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

isRepeatableAnnotationType

public boolean isRepeatableAnnotationType()
Description copied from class: TypeBinding
Answer true if the receiver is an annotation which may be repeatable. Overridden as appropriate.

Overrides:
isRepeatableAnnotationType in class TypeBinding

isTaggedRepeatable

public boolean isTaggedRepeatable()
Overrides:
isTaggedRepeatable in class Binding

memberTypes

public ReferenceBinding[] memberTypes()
Overrides:
memberTypes in class ReferenceBinding

hasMemberTypes

public boolean hasMemberTypes()
Overrides:
hasMemberTypes in class ReferenceBinding

methodsBase

public MethodBinding[] methodsBase()

prototype

public TypeBinding prototype()
Description copied from class: TypeBinding
Return the primordial type from which the receiver was cloned. Not all types track a prototype, only SourceTypeBinding, BinaryTypeBinding and UnresolvedReferenceBinding do so as of now. In fact some types e.g ParameterizedTypeBinding should not do so. Deflecting a query to a prototype would lead to wrong results in the case of ParameterizedTypeBinding

Overrides:
prototype in class TypeBinding

isPrototype

public boolean isPrototype()

containerAnnotationType

public ReferenceBinding containerAnnotationType()
Overrides:
containerAnnotationType in class TypeBinding

resolveTypeFor

public FieldBinding resolveTypeFor(FieldBinding field)

resolveTypesFor

public MethodBinding resolveTypesFor(MethodBinding method)

checkRedundantNullnessDefaultRecurse

protected void checkRedundantNullnessDefaultRecurse(ASTNode location,
                                                    Annotation[] annotations,
                                                    long nullBits,
                                                    boolean isJdk18)
Recursively check if the given annotations are redundant with equal annotations at an enclosing level.

Parameters:
location - fallback location to report the warning against (if we can't blame a specific annotation)
annotations - search these for the annotation that should be blamed in warning messages
nullBits - in 1.7- times these are the annotationTagBits, in 1.8+ the bitvector from Binding.NullnessDefaultMASK
isJdk18 - toggles the interpretation of 'nullBits'

checkRedundantNullnessDefaultOne

protected boolean checkRedundantNullnessDefaultOne(ASTNode location,
                                                   Annotation[] annotations,
                                                   long nullBits,
                                                   boolean isJdk18)

retrieveAnnotationHolder

public AnnotationHolder retrieveAnnotationHolder(Binding binding,
                                                 boolean forceInitialization)
Overrides:
retrieveAnnotationHolder in class ReferenceBinding

setContainerAnnotationType

public void setContainerAnnotationType(ReferenceBinding value)
Overrides:
setContainerAnnotationType in class ReferenceBinding

tagAsHavingDefectiveContainerType

public void tagAsHavingDefectiveContainerType()
Overrides:
tagAsHavingDefectiveContainerType in class ReferenceBinding

setFields

public FieldBinding[] setFields(FieldBinding[] fields)

setMemberTypes

public ReferenceBinding[] setMemberTypes(ReferenceBinding[] memberTypes)

setMethods

public MethodBinding[] setMethods(MethodBinding[] methods)

setSuperClass

public ReferenceBinding setSuperClass(ReferenceBinding superClass)

setSuperInterfaces

public ReferenceBinding[] setSuperInterfaces(ReferenceBinding[] superInterfaces)

setTypeVariables

public TypeVariableBinding[] setTypeVariables(TypeVariableBinding[] typeVariables)

sourceEnd

public final int sourceEnd()

sourceStart

public final int sourceStart()

superclass

public ReferenceBinding superclass()
Overrides:
superclass in class ReferenceBinding

superInterfaces

public ReferenceBinding[] superInterfaces()
Overrides:
superInterfaces in class ReferenceBinding

syntheticMethods

public SyntheticMethodBinding[] syntheticMethods()

syntheticFields

public FieldBinding[] syntheticFields()
Answer the collection of synthetic fields to append into the classfile


toString

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

typeVariables

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

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.

unResolvedFields

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

tagIndirectlyAccessibleMembers

public void tagIndirectlyAccessibleMembers()

addField

public void addField(FieldBinding binding)

addMethod

public void addMethod(MethodBinding binding)

removeMethod

public void removeMethod(int index)

rememberTypeHierarchy

public void rememberTypeHierarchy()

methods

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

getMemberType

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