public abstract class ReferenceBinding extends TypeBinding
| Modifier and Type | Field and Description |
|---|---|
char[][] |
compoundName |
PackageBinding |
fPackage |
static ReferenceBinding |
LUB_GENERIC |
int |
modifiers |
char[] |
sourceName |
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, VOIDANY_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_NULL_DEFAULT, NO_PARAMETERS, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NONNULL_BY_DEFAULT, NULL_UNSPECIFIED_BY_DEFAULT, PACKAGE, PARAMETERIZED_TYPE, RAW_TYPE, TYPE, TYPE_PARAMETER, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE| Constructor and Description |
|---|
ReferenceBinding() |
| Modifier and Type | Method and Description |
|---|---|
protected int |
applyCloseableWhitelists() |
FieldBinding[] |
availableFields()
Return the array of resolvable fields (resilience)
|
MethodBinding[] |
availableMethods()
Return the array of resolvable methods (resilience)
|
static FieldBinding |
binarySearch(char[] name,
FieldBinding[] sortedFields) |
static long |
binarySearch(char[] selector,
MethodBinding[] sortedMethods)
Returns a combined range value representing: (start + (end<<32)), where start is the index of the first matching method
(remember methods are sorted alphabetically on selectors), and end is the index of last contiguous methods with same
selector.
|
boolean |
canBeInstantiated()
Answer true if the receiver can be instantiated
|
boolean |
canBeSeenBy(PackageBinding invocationPackage)
Answer true if the receiver is visible to the invocationPackage.
|
boolean |
canBeSeenBy(ReferenceBinding receiverType,
ReferenceBinding invocationType)
Answer true if the receiver is visible to the receiverType and the invocationType.
|
boolean |
canBeSeenBy(Scope scope)
Answer true if the receiver is visible to the type provided by the scope.
|
char[] |
computeGenericTypeSignature(TypeVariableBinding[] typeVariables) |
void |
computeId() |
char[] |
computeUniqueKey(boolean isLeaf)
p.X
|
char[] |
constantPoolName()
Answer the receiver's constant pool name.
|
String |
debugName() |
int |
depth() |
boolean |
detectAnnotationCycle() |
ReferenceBinding |
enclosingTypeAt(int relativeDepth) |
int |
enumConstantCount() |
int |
fieldCount() |
FieldBinding[] |
fields() |
int |
getAccessFlags() |
AnnotationBinding[] |
getAnnotations() |
long |
getAnnotationTagBits()
Compute the tagbits for standard annotations.
|
int |
getEnclosingInstancesSlotSize() |
MethodBinding |
getExactConstructor(TypeBinding[] argumentTypes) |
MethodBinding |
getExactMethod(char[] selector,
TypeBinding[] argumentTypes,
CompilationUnitScope refScope) |
FieldBinding |
getField(char[] fieldName,
boolean needResolve) |
char[] |
getFileName() |
ReferenceBinding |
getMemberType(char[] typeName) |
MethodBinding[] |
getMethods(char[] selector) |
MethodBinding[] |
getMethods(char[] selector,
int suggestedParameterLength) |
int |
getOuterLocalVariablesSlotSize() |
PackageBinding |
getPackage() |
TypeVariableBinding |
getTypeVariable(char[] variableName) |
int |
hashCode() |
boolean |
hasIncompatibleSuperType(ReferenceBinding otherType)
Returns true if the two types have an incompatible common supertype,
e.g.
|
boolean |
hasMemberTypes() |
boolean |
hasRestrictedAccess() |
abstract boolean |
hasTypeBit(int bit)
Answer an additional bit characterizing this type, like
TypeIds.BitAutoCloseable. |
boolean |
implementsInterface(ReferenceBinding anInterface,
boolean searchHierarchy)
Answer true if the receiver implements anInterface or is identical to anInterface.
|
boolean |
isAbstract()
Answer true if the receiver is an abstract type
|
boolean |
isAnnotationType() |
boolean |
isBinaryBinding() |
boolean |
isClass() |
boolean |
isCompatibleWith(TypeBinding otherType,
Scope captureScope)
Answer true if the receiver type can be assigned to the argument type (right)
In addition to improving performance, caching also ensures there is no infinite regression
since per nature, the compatibility check is recursive through parameterized type arguments (122775)
|
boolean |
isDefault()
Answer true if the receiver has default visibility
|
boolean |
isDeprecated()
Answer true if the receiver is a deprecated type
|
boolean |
isEnum() |
boolean |
isFinal()
Answer true if the receiver is final and cannot be subclassed
|
boolean |
isHierarchyBeingActivelyConnected()
Returns true if the type hierarchy is being connected "actively" i.e not paused momentatrily,
while resolving type arguments.
|
boolean |
isHierarchyBeingConnected()
Returns true if the type hierarchy is being connected
|
boolean |
isHierarchyConnected()
Returns true if the type hierarchy is connected
|
boolean |
isInterface() |
boolean |
isOrEnclosedByPrivateType()
Answer true if the receiver or any of its enclosing types have private visibility
|
boolean |
isPrivate()
Answer true if the receiver has private visibility
|
boolean |
isProtected()
Answer true if the receiver has protected visibility
|
boolean |
isPublic()
Answer true if the receiver has public visibility
|
boolean |
isStatic()
Answer true if the receiver is a static member type (or toplevel)
|
boolean |
isStrictfp()
Answer true if all float operations must adher to IEEE 754 float/double rules
|
boolean |
isSuperclassOf(ReferenceBinding otherType)
Answer true if the receiver is in the superclass hierarchy of aType
NOTE: Object.isSuperclassOf(Object) -> false
|
boolean |
isThrowable()
Returns true if a given type may be thrown
|
boolean |
isUncheckedException(boolean includeSupertype)
JLS 11.5 ensures that Throwable, Exception, RuntimeException and Error are directly connected.
|
boolean |
isUsed()
Answer true if the receiver has private visibility and is used locally
|
boolean |
isViewedAsDeprecated()
Answer true if the receiver is deprecated (or any of its enclosing types)
|
ReferenceBinding[] |
memberTypes() |
MethodBinding[] |
methods() |
ReferenceBinding |
outermostEnclosingType() |
char[] |
qualifiedSourceName()
Answer the source name for the type.
|
char[] |
readableName()
Answer the receiver's signature.
|
AnnotationHolder |
retrieveAnnotationHolder(Binding binding,
boolean forceInitialization) |
void |
setAnnotations(AnnotationBinding[] annotations) |
char[] |
shortReadableName() |
char[] |
signature()
Answer the receiver classfile signature.
|
static void |
sortFields(FieldBinding[] sortedFields,
int left,
int right)
Sort the field array using a quicksort
|
static void |
sortMethods(MethodBinding[] sortedMethods,
int left,
int right)
Sort the field array using a quicksort
|
char[] |
sourceName() |
ReferenceBinding |
superclass() |
ReferenceBinding[] |
superInterfaces() |
ReferenceBinding[] |
syntheticEnclosingInstanceTypes() |
SyntheticArgumentBinding[] |
syntheticOuterLocalVariables() |
FieldBinding[] |
unResolvedFields() |
capture, closestMatch, collectMissingTypes, collectSubstitutes, dimensions, enclosingType, erasure, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, genericTypeSignature, getErasureCompatibleType, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isCapture, isCompatibleWith, isEquivalentTo, isGenericType, isHierarchyInconsistent, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isProvablyDistinct, isRawType, isReifiable, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isWildcard, kind, leafComponentType, needsUncheckedConversion, original, qualifiedPackageName, swapUnresolved, typeVariables, wellKnownTypecomputeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isValidBinding, isVolatile, problemIdpublic char[][] compoundName
public char[] sourceName
public int modifiers
public PackageBinding fPackage
public static final ReferenceBinding LUB_GENERIC
public static FieldBinding binarySearch(char[] name, FieldBinding[] sortedFields)
public static long binarySearch(char[] selector,
MethodBinding[] sortedMethods)
selector - sortedMethods - public static void sortFields(FieldBinding[] sortedFields, int left, int right)
public static void sortMethods(MethodBinding[] sortedMethods, int left, int right)
public FieldBinding[] availableFields()
public MethodBinding[] availableMethods()
public boolean canBeInstantiated()
canBeInstantiated in class TypeBindingpublic final boolean canBeSeenBy(PackageBinding invocationPackage)
public final boolean canBeSeenBy(ReferenceBinding receiverType, ReferenceBinding invocationType)
public final boolean canBeSeenBy(Scope scope)
public char[] computeGenericTypeSignature(TypeVariableBinding[] typeVariables)
public void computeId()
public char[] computeUniqueKey(boolean isLeaf)
computeUniqueKey in class Bindingpublic char[] constantPoolName()
constantPoolName in class TypeBindingpublic String debugName()
debugName in class TypeBindingpublic final int depth()
public boolean detectAnnotationCycle()
public final ReferenceBinding enclosingTypeAt(int relativeDepth)
public int enumConstantCount()
public int fieldCount()
public FieldBinding[] fields()
public final int getAccessFlags()
public AnnotationBinding[] getAnnotations()
public long getAnnotationTagBits()
BindinggetAnnotationTagBits in class BindingBinding.getAnnotationTagBits()public int getEnclosingInstancesSlotSize()
public MethodBinding getExactConstructor(TypeBinding[] argumentTypes)
public MethodBinding getExactMethod(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope)
public FieldBinding getField(char[] fieldName, boolean needResolve)
public char[] getFileName()
IDependent.getFileName()public ReferenceBinding getMemberType(char[] typeName)
public MethodBinding[] getMethods(char[] selector)
public MethodBinding[] getMethods(char[] selector, int suggestedParameterLength)
public int getOuterLocalVariablesSlotSize()
public PackageBinding getPackage()
getPackage in class TypeBindingpublic TypeVariableBinding getTypeVariable(char[] variableName)
public boolean hasIncompatibleSuperType(ReferenceBinding otherType)
public boolean hasMemberTypes()
public final boolean hasRestrictedAccess()
public abstract boolean hasTypeBit(int bit)
TypeIds.BitAutoCloseable.public boolean implementsInterface(ReferenceBinding anInterface, boolean searchHierarchy)
public final boolean isAbstract()
public boolean isAnnotationType()
isAnnotationType in class TypeBindingpublic final boolean isBinaryBinding()
public boolean isClass()
isClass in class TypeBindingpublic boolean isCompatibleWith(TypeBinding otherType, Scope captureScope)
isCompatibleWith in class TypeBindingpublic final boolean isDefault()
public final boolean isDeprecated()
public boolean isEnum()
isEnum in class TypeBindingpublic final boolean isFinal()
public boolean isHierarchyBeingConnected()
public boolean isHierarchyBeingActivelyConnected()
public boolean isHierarchyConnected()
public boolean isInterface()
isInterface in class TypeBindingpublic final boolean isPrivate()
public final boolean isOrEnclosedByPrivateType()
public final boolean isProtected()
public final boolean isPublic()
public final boolean isStatic()
public final boolean isStrictfp()
public boolean isSuperclassOf(ReferenceBinding otherType)
public boolean isThrowable()
TypeBindingisThrowable in class TypeBindingTypeBinding.isThrowable()public boolean isUncheckedException(boolean includeSupertype)
isUncheckedException in class TypeBindingTypeBinding.isUncheckedException(boolean)public final boolean isUsed()
public final boolean isViewedAsDeprecated()
public ReferenceBinding[] memberTypes()
public MethodBinding[] methods()
public final ReferenceBinding outermostEnclosingType()
public char[] qualifiedSourceName()
qualifiedSourceName in class TypeBindingpublic char[] readableName()
readableName in class Bindingpublic AnnotationHolder retrieveAnnotationHolder(Binding binding, boolean forceInitialization)
public void setAnnotations(AnnotationBinding[] annotations)
public char[] shortReadableName()
shortReadableName in class Bindingpublic char[] signature()
TypeBindingsignature in class TypeBindingpublic char[] sourceName()
sourceName in class TypeBindingpublic ReferenceBinding superclass()
public ReferenceBinding[] superInterfaces()
public ReferenceBinding[] syntheticEnclosingInstanceTypes()
public SyntheticArgumentBinding[] syntheticOuterLocalVariables()
public FieldBinding[] unResolvedFields()
protected int applyCloseableWhitelists()
Copyright © 2013. All rights reserved.