public class BinaryTypeBinding extends SourceTypeBinding
| Modifier and Type | Class and Description |
|---|---|
static class |
BinaryTypeBinding.ExternalAnnotationStatus |
| Modifier and Type | Field and Description |
|---|---|
protected ReferenceBinding |
enclosingType |
protected LookupEnvironment |
environment |
BinaryTypeBinding.ExternalAnnotationStatus |
externalAnnotationStatus |
protected SimpleLookupTable |
storedAnnotations |
externalAnnotationProvider, fields, memberFinder, memberTypes, methods, originalSuperclass, originalSuperInterfaces, privilegedHandler, scope, superclass, superInterfaces, typeFinder, typeVariablescompoundName, fPackage, LUB_GENERIC, modifiers, samProblemBinding, singleAbstractMethod, sourceNameBOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOIDANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, DefaultLocationArrayContents, DefaultLocationField, DefaultLocationParameter, DefaultLocationReturnType, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, INTERSECTION_TYPE18, 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| Modifier | Constructor and Description |
|---|---|
protected |
BinaryTypeBinding()
Default empty constructor for subclasses only.
|
|
BinaryTypeBinding(BinaryTypeBinding prototype) |
|
BinaryTypeBinding(PackageBinding packageBinding,
IBinaryType binaryType,
LookupEnvironment environment)
Standard constructor for creating binary type bindings from binary models (classfiles)
|
|
BinaryTypeBinding(PackageBinding packageBinding,
IBinaryType binaryType,
LookupEnvironment environment,
boolean needFieldsAndMethods)
Standard constructor for creating binary type bindings from binary models (classfiles)
|
| Modifier and Type | Method and Description |
|---|---|
FieldBinding[] |
availableFields()
Return the array of resolvable fields (resilience)
|
MethodBinding[] |
availableMethods()
Return the array of resolvable methods (resilience)
|
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.
|
ReferenceBinding |
containerAnnotationType() |
static AnnotationBinding[] |
createAnnotations(IBinaryAnnotation[] annotationInfos,
LookupEnvironment env,
char[][][] missingTypeNames) |
ReferenceBinding |
enclosingType() |
FieldBinding[] |
fields() |
char[] |
genericTypeSignature()
Answer the receiver classfile signature.
|
MethodBinding |
getExactConstructor(TypeBinding[] argumentTypes) |
MethodBinding |
getExactMethod(char[] selector,
TypeBinding[] argumentTypes,
CompilationUnitScope refScope) |
FieldBinding |
getFieldBase(char[] fieldName,
boolean needResolve) |
ReferenceBinding |
getMemberType(char[] typeName)
Rewrite of default memberTypes() to avoid resolving eagerly all member types when one is requested
|
MethodBinding[] |
getMethodsBase(char[] selector) |
MethodBinding[] |
getMethodsBase(char[] selector,
int suggestedParameterLength) |
TypeVariableBinding |
getTypeVariable(char[] variableName) |
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.
|
int |
kind() |
ReferenceBinding[] |
memberTypes() |
MethodBinding[] |
methods() |
MethodBinding[] |
methodsBase() |
TypeBinding |
prototype()
Return the primordial type from which the receiver was cloned.
|
static TypeBinding |
resolveType(TypeBinding type,
LookupEnvironment environment,
boolean convertGenericToRawType) |
FieldBinding |
resolveTypeFor(FieldBinding field) |
MethodBinding |
resolveTypesFor(MethodBinding method) |
void |
setContainerAnnotationType(ReferenceBinding value) |
ReferenceBinding |
superclass() |
ReferenceBinding[] |
superInterfaces() |
void |
tagAsHavingDefectiveContainerType() |
java.lang.String |
toString() |
TypeVariableBinding[] |
typeVariables() |
TypeBinding |
unannotated()
Return this type minus its type annotations
|
FieldBinding[] |
unResolvedFields() |
TypeBinding |
withoutToplevelNullAnnotation()
Return this type minus its toplevel null annotations.
|
addField, addMethod, addSyntheticArrayMethod, addSyntheticBridgeMethod, addSyntheticBridgeMethod, addSyntheticEnumMethod, addSyntheticFactoryMethod, addSyntheticField, addSyntheticFieldForAssert, addSyntheticFieldForClassLiteral, addSyntheticFieldForEnumValues, addSyntheticFieldForInnerclass, addSyntheticFieldForInnerclass, addSyntheticFieldForSwitchEnum, addSyntheticMethod, addSyntheticMethod, addSyntheticMethod, addSyntheticMethod, addSyntheticMethodForEnumInitialization, addSyntheticMethodForSwitchEnum, checkRedundantNullnessDefaultOne, checkRedundantNullnessDefaultRecurse, computeUniqueKey, evaluateNullAnnotations, genericSignature, getAnnotationTagBits, getDefaultAbstractMethods, getExactMethodBase, getField, getField, getMethods, getMethods, getSyntheticBridgeMethod, getSyntheticField, getSyntheticField, isTaggedRepeatable, rememberTypeHierarchy, removeMethod, retrieveAnnotationHolder, setFields, setMemberTypes, setMethods, setSuperClass, setSuperInterfaces, setTypeVariables, sourceEnd, sourceStart, syntheticFields, syntheticMethods, tagIndirectlyAccessibleMembersacceptsNonNullDefault, appendNullAnnotation, applyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, binarySearch, binarySearch, canBeInstantiated, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, computeId, constantPoolName, debugName, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, fieldCount, getAccessFlags, getAnnotations, getEnclosingInstancesSlotSize, getFileName, getInterfaceAbstractContracts, getOuterLocalVariablesSlotSize, getPackage, getSingleAbstractMethod, hashCode, hasIncompatibleSuperType, hasNullBit, 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, readableName, setAnnotations, shortReadableName, shortReadableName, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypesactualType, annotatedDebugName, capture, closestMatch, collectMissingTypes, collectSubstitutes, dimensions, enclosingMethod, enterRecursiveFunction, equalsEquals, erasure, exitRecursiveFunction, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCapture, isCompatibleWith, isFreeTypeVariable, isFunctionalType, isHierarchyInconsistent, isIntersectionType, isIntersectionType18, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isReifiable, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, mentionsAny, needsUncheckedConversion, notEquals, original, qualifiedPackageName, setTypeAnnotations, signableName, sIsMoreSpecific, swapUnresolved, syntheticOuterLocalVariables, uncapture, updateTagBits, wellKnownTypecomputeUniqueKey, isParameter, isValidBinding, isVolatile, problemId, setAnnotationsprotected ReferenceBinding enclosingType
protected LookupEnvironment environment
protected SimpleLookupTable storedAnnotations
public BinaryTypeBinding.ExternalAnnotationStatus externalAnnotationStatus
protected BinaryTypeBinding()
public BinaryTypeBinding(BinaryTypeBinding prototype)
public BinaryTypeBinding(PackageBinding packageBinding, IBinaryType binaryType, LookupEnvironment environment)
packageBinding - binaryType - environment - public BinaryTypeBinding(PackageBinding packageBinding, IBinaryType binaryType, LookupEnvironment environment, boolean needFieldsAndMethods)
packageBinding - binaryType - environment - needFieldsAndMethods - public TypeBinding clone(TypeBinding outerType)
TypeBindingclone in class SourceTypeBindingpublic static AnnotationBinding[] createAnnotations(IBinaryAnnotation[] annotationInfos, LookupEnvironment env, char[][][] missingTypeNames)
public static TypeBinding resolveType(TypeBinding type, LookupEnvironment environment, boolean convertGenericToRawType)
public FieldBinding[] availableFields()
ReferenceBindingavailableFields in class ReferenceBindingReferenceBinding.availableFields()public MethodBinding[] availableMethods()
ReferenceBindingavailableMethods in class ReferenceBindingReferenceBinding.availableMethods()public ReferenceBinding enclosingType()
enclosingType in class TypeBindingpublic FieldBinding[] fields()
fields in class SourceTypeBindingpublic char[] genericTypeSignature()
TypeBindinggenericTypeSignature in class SourceTypeBindingTypeBinding.genericTypeSignature()public MethodBinding getExactConstructor(TypeBinding[] argumentTypes)
getExactConstructor in class SourceTypeBindingpublic MethodBinding getExactMethod(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope)
getExactMethod in class SourceTypeBindingpublic FieldBinding getFieldBase(char[] fieldName, boolean needResolve)
getFieldBase in class SourceTypeBindingpublic ReferenceBinding getMemberType(char[] typeName)
getMemberType in class SourceTypeBindingpublic MethodBinding[] getMethodsBase(char[] selector)
getMethodsBase in class SourceTypeBindingpublic MethodBinding[] getMethodsBase(char[] selector, int suggestedParameterLength)
public boolean hasMemberTypes()
hasMemberTypes in class SourceTypeBindingpublic TypeVariableBinding getTypeVariable(char[] variableName)
getTypeVariable in class ReferenceBindingpublic boolean hasTypeBit(int bit)
TypeBindingTypeIds.BitAutoCloseable.hasTypeBit in class SourceTypeBindingpublic boolean isEquivalentTo(TypeBinding otherType)
isEquivalentTo in class SourceTypeBindingpublic boolean isGenericType()
isGenericType in class SourceTypeBindingpublic boolean isHierarchyConnected()
ReferenceBindingisHierarchyConnected in class SourceTypeBindingpublic boolean isRepeatableAnnotationType()
TypeBindingisRepeatableAnnotationType in class SourceTypeBindingpublic int kind()
kind in class SourceTypeBindingpublic ReferenceBinding[] memberTypes()
memberTypes in class SourceTypeBindingpublic MethodBinding[] methodsBase()
methodsBase in class SourceTypeBindingpublic TypeBinding prototype()
TypeBindingSourceTypeBinding,
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 ParameterizedTypeBindingprototype in class SourceTypeBindingpublic boolean isPrototype()
isPrototype in class SourceTypeBindingpublic ReferenceBinding containerAnnotationType()
containerAnnotationType in class SourceTypeBindingpublic FieldBinding resolveTypeFor(FieldBinding field)
resolveTypeFor in class SourceTypeBindingpublic MethodBinding resolveTypesFor(MethodBinding method)
resolveTypesFor in class SourceTypeBindingpublic void setContainerAnnotationType(ReferenceBinding value)
setContainerAnnotationType in class SourceTypeBindingpublic void tagAsHavingDefectiveContainerType()
tagAsHavingDefectiveContainerType in class SourceTypeBindingpublic void initializeDeprecatedAnnotationTagBits()
BindinginitializeDeprecatedAnnotationTagBits in class SourceTypeBindingBinding.initializeDeprecatedAnnotationTagBits()public ReferenceBinding superclass()
superclass in class SourceTypeBindingpublic ReferenceBinding[] superInterfaces()
superInterfaces in class SourceTypeBindingpublic TypeVariableBinding[] typeVariables()
typeVariables in class SourceTypeBindingpublic java.lang.String toString()
toString in class SourceTypeBindingpublic TypeBinding unannotated()
TypeBindingunannotated in class SourceTypeBindingpublic TypeBinding withoutToplevelNullAnnotation()
TypeBindingwithoutToplevelNullAnnotation in class SourceTypeBindingpublic FieldBinding[] unResolvedFields()
unResolvedFields in class SourceTypeBindingpublic MethodBinding[] methods()
methods in class SourceTypeBinding