Class BaseTypeBinding
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding
- Direct Known Subclasses:
NullTypeBinding,VoidTypeBinding
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int[]static final intstatic final intstatic final intchar[]static final intFields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
BOOLEAN, BYTE, CHAR, DOUBLE, extendedTagBits, FLOAT, id, INT, LONG, NULL, NUMERIC_TYPES, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOIDFields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
ANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, DefaultLocationArrayContents, DefaultLocationField, DefaultLocationParameter, DefaultLocationReturnType, DefaultLocationsForTrueValue, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, INTERSECTION_TYPE18, LOCAL, METHOD, MODULE, NO_ANNOTATIONS, NO_COMPONENTS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_MODULES, NO_NULL_DEFAULT, NO_PACKAGES, NO_PARAMETER_NAMES, NO_PARAMETERS, NO_PERMITTED_TYPES, NO_PLAIN_PACKAGES, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, PATTERN, POLY_TYPE, RAW_TYPE, RECORD_COMPONENT, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_COMPONENTS, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE -
Method Summary
Modifier and TypeMethodDescriptionclone(TypeBinding enclosingType) 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) int -> Ichar[]Answer the receiver's constant pool name.static final intgetRightToLeft(int left, int right) static final int[]final booleanisCompatibleWith(TypeBinding right, Scope captureScope) static final booleanisExactWidening(int left, int right) Predicate telling whether "left" can store a "right" using some widening conversion and whether it is an exact widening conversion https://cr.openjdk.org/~abimpoudis/instanceof/jep455-20240424/specs/instanceof-jls.html#jls-5.1.2 (is left bigger than right)final booleanisIntegralType(int tid) static final booleanisNarrowing(int left, int right) Predicate telling whether "left" can store a "right" using some narrowing conversion (is left smaller than right)booleanisUncheckedException(boolean includeSupertype) T_null is acting as an unchecked exceptionstatic final booleanisWidening(int left, int right) Predicate telling whether "left" can store a "right" using some widening conversion (is left bigger than right)static final booleanisWideningAndNarrowing(int left, int right) Predicate telling whether its a widening followed by narrowing conversion - as per section 5.1.4 applicable for byte to charintkind()char[]Answer the source name for the type.char[]voidsetTypeAnnotations(AnnotationBinding[] annotations, boolean evalNullAnnotations) char[]char[]toString()Return this type minus its type annotationsMethods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
acceptsNonNullDefault, actualType, annotatedDebugName, canBeInstantiated, canBeSeenBy, capture, closestMatch, collectMissingTypes, collectSubstitutes, components, containerAnnotationType, debugName, depth, dimensions, downwardsProjection, enclosingMethod, enclosingType, enterRecursiveFunction, enumConstantCount, equalsEquals, erasure, exitRecursiveFunction, fields, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, genericTypeSignature, getErasureCompatibleType, getIntersectingTypes, getMethods, getSingleAbstractMethod, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, hasTypeBit, hasValueBasedTypeAnnotation, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCapture, isClass, isCompatibleWith, isEnum, isEquivalentTo, isFreeTypeVariable, isFunctionalInterface, isFunctionalType, isGenericType, isHierarchyInconsistent, isInterface, isIntersectionType, isIntersectionType18, isLocalType, isMemberType, isNestedType, isNonDenotable, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProperType, isProvablyDistinct, isRawType, isReadyForAnnotations, isRecord, isRecordWithComponents, isReifiable, isRepeatableAnnotationType, isSealed, isStatic, isSubtypeOf, isThrowable, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, mentionsAny, needsUncheckedConversion, notEquals, nullAnnotatedReadableName, original, permittedTypes, prototype, qualifiedPackageName, signableName, signature, sIsMoreSpecific, superclass, superInterfaces, syntheticOuterLocalVariables, syntheticTypeVariablesMentioned, typeVariables, unboxedType, uncapture, updateTagBits, upwardsProjection, upwardsProjection, wellKnownBaseType, wellKnownType, withoutToplevelNullAnnotationMethods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, getAnnotations, getAnnotationTagBits, initializeDeprecatedAnnotationTagBits, isAnnotationType, isParameter, isPatternVariable, isTaggedRepeatable, isValid, isValidBinding, isVolatile, problemId, setAnnotations, setAnnotations
-
Field Details
-
CONVERSIONS
public static final int[] CONVERSIONS -
IDENTITY
public static final int IDENTITY- See Also:
-
WIDENING
public static final int WIDENING- See Also:
-
NARROWING
public static final int NARROWING- See Also:
-
MAX_CONVERSIONS
public static final int MAX_CONVERSIONS- See Also:
-
simpleName
public char[] simpleName
-
-
Method Details
-
initializeConversions
public static final int[] initializeConversions() -
isWidening
public static final boolean isWidening(int left, int right) Predicate telling whether "left" can store a "right" using some widening conversion (is left bigger than right)- Parameters:
left- - the target type to convert toright- - the actual type- Returns:
- true if legal widening conversion
-
isNarrowing
public static final boolean isNarrowing(int left, int right) Predicate telling whether "left" can store a "right" using some narrowing conversion (is left smaller than right)- Parameters:
left- - the target type to convert toright- - the actual type- Returns:
- true if legal narrowing conversion
-
isWideningAndNarrowing
public static final boolean isWideningAndNarrowing(int left, int right) Predicate telling whether its a widening followed by narrowing conversion - as per section 5.1.4 applicable for byte to char- Parameters:
left- - the target type to convert toright- - the actual type- Returns:
- true if widening and narrowing conversion
-
isExactWidening
public static final boolean isExactWidening(int left, int right) Predicate telling whether "left" can store a "right" using some widening conversion and whether it is an exact widening conversion https://cr.openjdk.org/~abimpoudis/instanceof/jep455-20240424/specs/instanceof-jls.html#jls-5.1.2 (is left bigger than right)- Parameters:
left- - the target type to convert toright- - the actual type- Returns:
- true if legal widening conversion
-
getRightToLeft
public static final int getRightToLeft(int left, int right) - Parameters:
left- - the target type to convert toright- - the actual type- Returns:
- return the conversion index
-
isIntegralType
public final boolean isIntegralType(int tid) -
computeUniqueKey
public char[] computeUniqueKey(boolean isLeaf) int -> I- Overrides:
computeUniqueKeyin classBinding
-
constantPoolName
public char[] constantPoolName()Description copied from class:TypeBindingAnswer the receiver's constant pool name. NOTE: This method should only be used during/after code gen. e.g. 'java/lang/Object'- Specified by:
constantPoolNamein classTypeBinding
-
clone
Description copied from class:TypeBindingVirtual 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:
clonein classTypeBinding
-
getPackage
- Specified by:
getPackagein classTypeBinding
-
isCompatibleWith
- Specified by:
isCompatibleWithin classTypeBinding
-
setTypeAnnotations
- Overrides:
setTypeAnnotationsin classTypeBinding
-
unannotated
Description copied from class:TypeBindingReturn this type minus its type annotations- Overrides:
unannotatedin classTypeBinding
-
isUncheckedException
public boolean isUncheckedException(boolean includeSupertype) T_null is acting as an unchecked exception- Overrides:
isUncheckedExceptionin classTypeBinding- See Also:
-
kind
public int kind()- Overrides:
kindin classTypeBinding- See Also:
-
qualifiedSourceName
public char[] qualifiedSourceName()Description copied from class:TypeBindingAnswer the source name for the type. In the case of member types, as the qualified name from its top level type. For example, for a member type N defined insideM & A: "A.M.N".- Specified by:
qualifiedSourceNamein classTypeBinding
-
readableName
public char[] readableName()- Specified by:
readableNamein classBinding
-
shortReadableName
public char[] shortReadableName()- Overrides:
shortReadableNamein classBinding
-
sourceName
public char[] sourceName()- Specified by:
sourceNamein classTypeBinding
-
toString
-