public class SourceTypeBinding extends ReferenceBinding
| Modifier and Type | Field and Description |
|---|---|
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 |
compoundName, 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| Constructor and Description |
|---|
SourceTypeBinding() |
SourceTypeBinding(char[][] compoundName,
PackageBinding fPackage,
ClassScope scope) |
SourceTypeBinding(SourceTypeBinding prototype) |
acceptsNonNullDefault, appendNullAnnotation, applyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeInstantiated, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, 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, syntheticEnclosingInstanceTypesactualType, annotatedDebugName, capture, closestMatch, collectMissingTypes, collectSubstitutes, dimensions, enclosingMethod, enclosingType, enterRecursiveFunction, equalsEquals, erasure, exitRecursiveFunction, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCapture, isCompatibleWith, 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, wellKnownTypecomputeUniqueKey, isParameter, isValidBinding, isVolatile, problemId, setAnnotationspublic ReferenceBinding superclass
public ReferenceBinding[] superInterfaces
public FieldBinding[] fields
public MethodBinding[] methods
public ReferenceBinding[] memberTypes
public TypeVariableBinding[] typeVariables
public ReferenceBinding originalSuperclass
public ReferenceBinding[] originalSuperInterfaces
public IPrivilegedHandler privilegedHandler
public IMemberFinder memberFinder
public ITypeFinder typeFinder
public ClassScope scope
protected SourceTypeBinding prototype
public int defaultNullness
public SourceTypeBinding()
public SourceTypeBinding(char[][] compoundName,
PackageBinding fPackage,
ClassScope scope)
public SourceTypeBinding(SourceTypeBinding prototype)
public FieldBinding addSyntheticFieldForInnerclass(LocalVariableBinding actualOuterLocalVariable)
public FieldBinding addSyntheticFieldForInnerclass(ReferenceBinding enclosingType)
public FieldBinding addSyntheticFieldForClassLiteral(TypeBinding targetType, BlockScope blockScope)
public FieldBinding addSyntheticFieldForAssert(BlockScope blockScope)
public FieldBinding addSyntheticFieldForEnumValues()
public FieldBinding addSyntheticField(SyntheticFieldBinding sfb)
public SyntheticMethodBinding addSyntheticMethod(FieldBinding targetField, boolean isReadAccess, boolean isSuperAccess)
public SyntheticMethodBinding addSyntheticEnumMethod(char[] selector)
public SyntheticFieldBinding addSyntheticFieldForSwitchEnum(char[] fieldName, java.lang.String key)
public SyntheticMethodBinding addSyntheticMethodForSwitchEnum(TypeBinding enumBinding)
public SyntheticMethodBinding addSyntheticMethodForEnumInitialization(int begin, int end)
public SyntheticMethodBinding addSyntheticMethod(LambdaExpression lambda)
public SyntheticMethodBinding addSyntheticMethod(MethodBinding targetMethod, boolean isSuperAccess)
public SyntheticMethodBinding addSyntheticArrayMethod(ArrayBinding arrayType, int purpose)
public SyntheticMethodBinding addSyntheticFactoryMethod(MethodBinding privateConstructor, MethodBinding publicConstructor, TypeBinding[] enclosingInstances)
public SyntheticMethodBinding addSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge, MethodBinding targetMethod)
public SyntheticMethodBinding addSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge)
public int kind()
kind in class TypeBindingpublic TypeBinding clone(TypeBinding immaterial)
TypeBindingclone in class TypeBindingpublic char[] computeUniqueKey(boolean isLeaf)
ReferenceBindingcomputeUniqueKey in class ReferenceBindingpublic FieldBinding[] fields()
fields in class ReferenceBindingpublic char[] genericTypeSignature()
TypeBindinggenericTypeSignature in class TypeBindingTypeBinding.genericTypeSignature()public char[] genericSignature()
public long getAnnotationTagBits()
getAnnotationTagBits in class ReferenceBindingBinding.getAnnotationTagBits()public MethodBinding[] getDefaultAbstractMethods()
public MethodBinding getExactConstructor(TypeBinding[] argumentTypes)
getExactConstructor in class ReferenceBindingpublic MethodBinding getExactMethod(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope)
getExactMethod in class ReferenceBindingpublic MethodBinding getExactMethodBase(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope)
public FieldBinding getField(char[] fieldName, boolean needResolve)
getField in class ReferenceBindingpublic FieldBinding getField(char[] fieldName, boolean needResolve, InvocationSite site, Scope scope)
ReferenceBindinggetField in class ReferenceBindingpublic FieldBinding getFieldBase(char[] fieldName, boolean needResolve)
public MethodBinding[] getMethods(char[] selector)
getMethods in class ReferenceBindingpublic MethodBinding[] getMethods(char[] selector, int suggestedParameterLength)
getMethods in class ReferenceBindingpublic MethodBinding[] getMethodsBase(char[] selector)
public FieldBinding getSyntheticField(LocalVariableBinding actualOuterLocalVariable)
public FieldBinding getSyntheticField(ReferenceBinding targetEnclosingType, boolean onlyExactMatch)
public SyntheticMethodBinding getSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge)
public boolean hasTypeBit(int bit)
TypeBindingTypeIds.BitAutoCloseable.hasTypeBit in class TypeBindingpublic void initializeDeprecatedAnnotationTagBits()
BindinginitializeDeprecatedAnnotationTagBits in class BindingBinding.initializeDeprecatedAnnotationTagBits()public boolean isEquivalentTo(TypeBinding otherType)
isEquivalentTo in class TypeBindingpublic boolean isGenericType()
isGenericType in class TypeBindingpublic boolean isHierarchyConnected()
ReferenceBindingisHierarchyConnected in class ReferenceBindingpublic boolean isRepeatableAnnotationType()
TypeBindingisRepeatableAnnotationType in class TypeBindingpublic boolean isTaggedRepeatable()
isTaggedRepeatable in class Bindingpublic ReferenceBinding[] memberTypes()
memberTypes in class ReferenceBindingpublic boolean hasMemberTypes()
hasMemberTypes in class ReferenceBindingpublic MethodBinding[] methodsBase()
public 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 TypeBindingpublic boolean isPrototype()
public ReferenceBinding containerAnnotationType()
containerAnnotationType in class TypeBindingpublic FieldBinding resolveTypeFor(FieldBinding field)
public MethodBinding resolveTypesFor(MethodBinding method)
public void evaluateNullAnnotations()
protected void checkRedundantNullnessDefaultRecurse(ASTNode location, Annotation[] annotations, long nullBits, boolean useNullTypeAnnotations)
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 messagesnullBits - when using declaration annotations these are the annotationTagBits, for type annotations the bitvector from Binding.NullnessDefaultMASKuseNullTypeAnnotations - toggles the interpretation of 'nullBits'protected boolean checkRedundantNullnessDefaultOne(ASTNode location, Annotation[] annotations, long nullBits, boolean useNullTypeAnnotations)
public AnnotationHolder retrieveAnnotationHolder(Binding binding, boolean forceInitialization)
retrieveAnnotationHolder in class ReferenceBindingpublic void setContainerAnnotationType(ReferenceBinding value)
setContainerAnnotationType in class ReferenceBindingpublic void tagAsHavingDefectiveContainerType()
tagAsHavingDefectiveContainerType in class ReferenceBindingpublic FieldBinding[] setFields(FieldBinding[] fields)
public ReferenceBinding[] setMemberTypes(ReferenceBinding[] memberTypes)
public MethodBinding[] setMethods(MethodBinding[] methods)
public ReferenceBinding setSuperClass(ReferenceBinding superClass)
public ReferenceBinding[] setSuperInterfaces(ReferenceBinding[] superInterfaces)
public TypeVariableBinding[] setTypeVariables(TypeVariableBinding[] typeVariables)
public final int sourceEnd()
public final int sourceStart()
public ReferenceBinding superclass()
superclass in class ReferenceBindingpublic ReferenceBinding[] superInterfaces()
superInterfaces in class ReferenceBindingpublic SyntheticMethodBinding[] syntheticMethods()
public FieldBinding[] syntheticFields()
public java.lang.String toString()
toString in class java.lang.Objectpublic TypeVariableBinding[] typeVariables()
typeVariables in class TypeBindingpublic TypeBinding unannotated()
TypeBindingunannotated in class TypeBindingpublic TypeBinding withoutToplevelNullAnnotation()
TypeBindingwithoutToplevelNullAnnotation in class TypeBindingpublic FieldBinding[] unResolvedFields()
unResolvedFields in class ReferenceBindingpublic void tagIndirectlyAccessibleMembers()
public void addField(FieldBinding binding)
public void addMethod(MethodBinding binding)
public void removeMethod(int index)
public void rememberTypeHierarchy()
public MethodBinding[] methods()
methods in class ReferenceBindingpublic ReferenceBinding getMemberType(char[] typeName)
getMemberType in class ReferenceBinding