public final class ArrayBinding extends TypeBinding
| Modifier and Type | Field and Description |
|---|---|
static FieldBinding |
ArrayLength |
int |
dimensions |
TypeBinding |
leafComponentType |
long[] |
nullTagBitsPerDimension |
BOOLEAN, 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 |
|---|
ArrayBinding(TypeBinding type,
int dimensions,
LookupEnvironment environment) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
acceptsNonNullDefault()
Used to implement this sentence from o.e.j.annotation.DefaultLocation:
"Wildcards and the use of type variables are always excluded from NonNullByDefault."
|
java.lang.String |
annotatedDebugName() |
TypeBinding |
closestMatch()
In case of problems, returns the closest match found.
|
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.
|
char[] |
computeUniqueKey(boolean isLeaf) |
char[] |
constantPoolName()
Answer the receiver's constant pool name.
|
java.lang.String |
debugName() |
int |
dimensions() |
TypeBinding |
elementsType() |
LookupEnvironment |
environment() |
TypeBinding |
erasure() |
char[] |
genericTypeSignature()
Answer the receiver classfile signature.
|
PackageBinding |
getPackage() |
int |
hashCode() |
boolean |
isCompatibleWith(TypeBinding otherType,
Scope captureScope) |
boolean |
isProperType(boolean admitCapture18)
JLS8 Sect 18.1.1
|
boolean |
isSubtypeOf(TypeBinding otherType) |
int |
kind() |
TypeBinding |
leafComponentType() |
boolean |
mentionsAny(TypeBinding[] parameters,
int idx)
Does this type mention any of the given type parameters, except the one at position 'idx'?
|
char[] |
nullAnnotatedReadableName(CompilerOptions options,
boolean shortNames)
Answer a readable name (for error reporting) that includes nullness type annotations.
|
int |
problemId() |
char[] |
qualifiedSourceName()
Answer the source name for the type.
|
char[] |
readableName() |
void |
setTypeAnnotations(AnnotationBinding[] annotations,
boolean evalNullAnnotations) |
char[] |
shortReadableName() |
char[] |
sourceName() |
void |
swapUnresolved(UnresolvedReferenceBinding unresolvedType,
ReferenceBinding resolvedType,
LookupEnvironment env) |
java.lang.String |
toString() |
TypeBinding |
unannotated()
Return this type minus its type annotations
|
TypeBinding |
uncapture(Scope scope)
Perform capture "deconversion" on a given type
|
TypeBinding |
withoutToplevelNullAnnotation()
Return this type minus its toplevel null annotations.
|
actualType, canBeInstantiated, canBeSeenBy, capture, clone, containerAnnotationType, depth, enclosingMethod, enclosingType, enterRecursiveFunction, equalsEquals, exitRecursiveFunction, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getMethods, getSingleAbstractMethod, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, hasTypeBit, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCapture, isClass, isCompatibleWith, isEnum, isEquivalentTo, isFunctionalInterface, isFunctionalType, isGenericType, isHierarchyInconsistent, isInterface, isIntersectionType, isIntersectionType18, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isReifiable, isRepeatableAnnotationType, isStatic, isThrowable, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isUncheckedException, isUnresolvedType, isWildcard, needsUncheckedConversion, notEquals, original, prototype, qualifiedPackageName, signableName, signature, sIsMoreSpecific, superclass, superInterfaces, syntheticOuterLocalVariables, typeVariables, wellKnownTypecomputeUniqueKey, getAnnotations, getAnnotationTagBits, initializeDeprecatedAnnotationTagBits, isAnnotationType, isParameter, isTaggedRepeatable, isValidBinding, isVolatile, setAnnotations, setAnnotationspublic static final FieldBinding ArrayLength
public TypeBinding leafComponentType
public int dimensions
public long[] nullTagBitsPerDimension
public ArrayBinding(TypeBinding type, int dimensions, LookupEnvironment environment)
public TypeBinding closestMatch()
TypeBindingclosestMatch in class TypeBindingpublic java.util.List collectMissingTypes(java.util.List missingTypes)
TypeBindingcollectMissingTypes in class TypeBindingTypeBinding.collectMissingTypes(java.util.List)public void collectSubstitutes(Scope scope, TypeBinding actualType, InferenceContext inferenceContext, int constraint)
collectSubstitutes in class TypeBindingpublic boolean mentionsAny(TypeBinding[] parameters, int idx)
TypeBindingmentionsAny in class TypeBindingpublic char[] computeUniqueKey(boolean isLeaf)
computeUniqueKey in class Bindingpublic char[] constantPoolName()
constantPoolName in class TypeBindingpublic java.lang.String debugName()
debugName in class TypeBindingpublic java.lang.String annotatedDebugName()
annotatedDebugName in class TypeBindingpublic int dimensions()
dimensions in class TypeBindingpublic TypeBinding elementsType()
public TypeBinding erasure()
erasure in class TypeBindingTypeBinding.erasure()public LookupEnvironment environment()
public char[] genericTypeSignature()
TypeBindinggenericTypeSignature in class TypeBindingpublic PackageBinding getPackage()
getPackage in class TypeBindingpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean isCompatibleWith(TypeBinding otherType, Scope captureScope)
isCompatibleWith in class TypeBindingpublic boolean isSubtypeOf(TypeBinding otherType)
isSubtypeOf in class TypeBindingpublic boolean isProperType(boolean admitCapture18)
TypeBindingisProperType in class TypeBindingadmitCapture18 - 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.public int kind()
kind in class TypeBindingpublic TypeBinding leafComponentType()
leafComponentType in class TypeBindingpublic char[] nullAnnotatedReadableName(CompilerOptions options, boolean shortNames)
TypeBindingnullAnnotatedReadableName in class TypeBindingpublic char[] qualifiedSourceName()
qualifiedSourceName in class TypeBindingpublic char[] readableName()
readableName in class Bindingpublic void setTypeAnnotations(AnnotationBinding[] annotations, boolean evalNullAnnotations)
setTypeAnnotations in class TypeBindingpublic char[] shortReadableName()
shortReadableName in class Bindingpublic char[] sourceName()
sourceName in class TypeBindingpublic void swapUnresolved(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env)
swapUnresolved in class TypeBindingpublic java.lang.String toString()
toString in class java.lang.Objectpublic TypeBinding unannotated()
TypeBindingunannotated in class TypeBindingpublic TypeBinding withoutToplevelNullAnnotation()
TypeBindingwithoutToplevelNullAnnotation in class TypeBindingpublic TypeBinding uncapture(Scope scope)
TypeBindinguncapture in class TypeBindingpublic boolean acceptsNonNullDefault()
TypeBindingacceptsNonNullDefault in class TypeBinding