oracle.javatools.parser.java.v2.common
Class PrimitiveType
java.lang.Object
oracle.javatools.parser.java.v2.common.AbstractElement
oracle.javatools.parser.java.v2.common.AbstractType
oracle.javatools.parser.java.v2.common.AbstractClass
oracle.javatools.parser.java.v2.common.PrimitiveType
- All Implemented Interfaces:
- JavaConstants, JavaErrors, JavaOperators, JavaPreferences, JavaTokens, Element, JavaClass, JavaElement, JavaHasAnnotations, JavaHasName, JavaHasType, JavaIsGeneric, JavaMember, JavaType
public final class PrimitiveType
- extends AbstractClass
- implements JavaConstants
Represents a primitive type JavaClass. To get one, you may either
use the lookup tables provided here as static fields or
CommonUtilities.getPrimitiveType(S).
Fields inherited from interface oracle.javatools.parser.java.v2.JavaConstants |
ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_none, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICTFP, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACCX_DEPRECATED, ACCX_HIDDEN, ARRAY_implements, BOUND_EXTENDS, BOUND_NARROW, BOUND_NONE, BOUND_SUPER, ELEM_ANNOTATION, ELEM_base, ELEM_CLASS, ELEM_COMPONENT, ELEM_EXPRESSION, ELEM_FIELD, ELEM_FILE, ELEM_IMPORT, ELEM_invalid, ELEM_LOCAL_VARIABLE, ELEM_max, ELEM_METHOD, ELEM_NOTHING, ELEM_PACKAGE, ELEM_SELF_VARIABLE, ELEM_STATEMENT_LABEL, ELEM_TMP_VARIABLE, ELEM_TYPE_VARIABLE, ELEM_WILDCARD_TYPE, ELEM_words, EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY, FOR_ENHANCED, FOR_EXPRESSION, FOR_VARIABLE_D, kEmptyCollection, opt2srcTable, PACKAGE_INFO, PRIMITIVE_autoboxes, PRIMITIVE_binary, PRIMITIVE_BOOLEAN, PRIMITIVE_BYTE, PRIMITIVE_CHAR, PRIMITIVE_descriptors, PRIMITIVE_DOUBLE, PRIMITIVE_FLOAT, PRIMITIVE_INT, PRIMITIVE_invalid, PRIMITIVE_LONG, PRIMITIVE_max, PRIMITIVE_NULL, PRIMITIVE_SHORT, PRIMITIVE_tokens, PRIMITIVE_unary, PRIMITIVE_VOID, SRC_ANNOTATION, SRC_base, SRC_BLOCK, SRC_CLASS, SRC_CLASS_BODY, SRC_CLASS_INITIALIZER, SRC_CONSTRUCTOR_D, SRC_DOC_base, SRC_DOC_BLOCK_TAG, SRC_DOC_COMMENT, SRC_DOC_DESCRIPTION, SRC_DOC_INLINE_TAG, SRC_DOC_max, SRC_DOC_REFERENCE, SRC_DOC_TAG_NAME, SRC_DOC_TEXT, SRC_ENUM_CONSTANT_D, SRC_ERROR, SRC_EXPR_ANNOTATION, SRC_EXPR_ARRAY_ACCESS, SRC_EXPR_ASSIGNMENT, SRC_EXPR_base, SRC_EXPR_DOT, SRC_EXPR_INFIX, SRC_EXPR_LIST, SRC_EXPR_LITERAL, SRC_EXPR_max, SRC_EXPR_METHOD_CALL, SRC_EXPR_NEW_ARRAY, SRC_EXPR_NEW_CLASS, SRC_EXPR_QUESTION, SRC_EXPR_SIMPLE_NAME, SRC_EXPR_TYPE, SRC_EXPR_TYPECAST, SRC_EXPR_UNARY, SRC_EXPR_WRAPPER, SRC_FIELD_D, SRC_FIELD_VARIABLE, SRC_FILE, SRC_FORMAL_PARAMETER, SRC_FORMAL_PARAMETER_LIST, SRC_IMPORT_D, SRC_INTERFACES_CLAUSE, SRC_invalid, SRC_LABEL, SRC_LEX_base, SRC_LEX_BLANKLINE, SRC_LEX_COMMENT, SRC_LEX_max, SRC_LEX_SQLJ, SRC_LOCAL_VARIABLE, SRC_LOCAL_VARIABLE_D, SRC_max, SRC_METHOD_D, SRC_NAME, SRC_PACKAGE_D, SRC_STMT_ASSERT, SRC_STMT_base, SRC_STMT_BLOCK, SRC_STMT_BREAK, SRC_STMT_CATCH, SRC_STMT_CONTINUE, SRC_STMT_DO, SRC_STMT_ELSE, SRC_STMT_EMPTY, SRC_STMT_EXPRESSION, SRC_STMT_FINALLY, SRC_STMT_FOR, SRC_STMT_IF, SRC_STMT_max, SRC_STMT_RETURN, SRC_STMT_SWITCH, SRC_STMT_SYNCH, SRC_STMT_THROW, SRC_STMT_TRY, SRC_STMT_WHILE, SRC_SUPERCLASS_CLAUSE, SRC_SWITCH_LABEL, SRC_THROWS_CLAUSE, SRC_TYPE_ARGUMENT, SRC_TYPE_PARAMETER, SRC_TYPE_REF, SRC_words, TY_ANNOTATE, TY_CLASS, TY_ENUM, TY_INTERFACE, TY_invalid, TY_max, TY_words |
Fields inherited from interface oracle.javatools.parser.java.v2.JavaErrors |
ERROR_ABSTRACT_CLASS, ERROR_AMBIGUOUS_IMPORT, ERROR_AMBIGUOUS_REF, ERROR_ASSERT_IDENTIFIER, ERROR_base, ERROR_CANCELLED, ERROR_CANT_ASSIGN, ERROR_CANT_EXTEND_ENUM, ERROR_CANT_EXTEND_FINAL, ERROR_CANT_EXTEND_INTERFACE, ERROR_CANT_IMPLEMENT_CLASS, ERROR_CANT_TYPECAST, ERROR_CATEGORY_ALL, ERROR_CATEGORY_COMPILE, ERROR_CATEGORY_PARSE, ERROR_CATEGORY_SCAN, ERROR_CATEGORY_unclassified, ERROR_CHECK_EXCEPTION, ERROR_CLASS_CIRCULARITY, ERROR_COMPILE_base, ERROR_COMPILE_GENERIC, ERROR_COMPILE_max, ERROR_CONSTRUCTOR_NAME, ERROR_DUPLICATE, ERROR_EMPTY_CHAR_LITERAL, ERROR_EMPTY_EXPRESSION, ERROR_EXPECTING_ONE, ERROR_EXPECTING_TWO, ERROR_EXTENDS_NOT_ALLOWED, ERROR_EXTENDS_TOO_MANY, ERROR_FORWARD_REFERENCE, ERROR_ILLEGAL_ANNOTATION, ERROR_ILLEGAL_DEFAULT, ERROR_ILLEGAL_LABEL, ERROR_ILLEGAL_START_OF_EXPR, ERROR_ILLEGAL_TYPE_PARAMETERS, ERROR_ILLEGAL_VARARGS, ERROR_IMPLEMENTS_NOT_ALLOWED, ERROR_IMPORT_NOT_FOUND, ERROR_INTERNAL, ERROR_INVALID_CHAR_LITERAL, ERROR_INVALID_ESCAPE_SEQUENCE, ERROR_INVALID_EXPR_STMT, ERROR_INVALID_NAME, ERROR_INVALID_OPERATION, ERROR_INVALID_SUPERTYPE, ERROR_keys, ERROR_LONE_CATCH, ERROR_LONE_ELSE, ERROR_LONE_FINALLY, ERROR_LONE_TRY, ERROR_max, ERROR_MEMBER_NOT_FOUND, ERROR_METHOD_NOT_FOUND, ERROR_MISSING_CONDITION, ERROR_MISSING_METHOD_BODY, ERROR_MODIFIER_REPEATED, ERROR_MULTIPLE_COMPONENTS, ERROR_NAME_NOT_FOUND, ERROR_none, ERROR_NOT_ACCESSIBLE, ERROR_NOT_ANNOTATION_TYPE, ERROR_NOT_ASSIGNABLE, ERROR_NOT_GENERIC_TYPE, ERROR_NOT_IMPLEMENTED_YET, ERROR_NOT_THROWABLE, ERROR_NUMBER_FORMAT, ERROR_NUMERIC_OVERFLOW, ERROR_NUMERIC_UNDERFLOW, ERROR_ONLY_STATIC_ACCESS, ERROR_PARSE_base, ERROR_PARSE_GENERIC, ERROR_PARSE_max, ERROR_REQUIRE_ARRAY, ERROR_REQUIRE_BLOCK, ERROR_REQUIRE_FINAL, ERROR_REQUIRE_OBJECT, ERROR_REQUIRE_OUTER_CLASS, ERROR_SCAN_base, ERROR_SCAN_GENERIC, ERROR_SCAN_max, ERROR_TYPE_ARGUMENT_MISMATCH, ERROR_TYPE_NOT_ALLOWED, ERROR_TYPE_NOT_FOUND, ERROR_UNEXPECTED, ERROR_UNKNOWN, ERROR_VOID_RETURN, ERROR_warnings, ERROR_words, SEVERITY_ERROR, SEVERITY_FATAL, SEVERITY_LINT, SEVERITY_WARNING, SEVERITY_ZERO, WARNING_AMBIGUOUS_DOC_REFERENCE, WARNING_ASSERT_IDENTIFIER, WARNING_DOC_REFERENCE_NOT_FOUND, WARNING_IMPORT_UNUSED, WARNING_INVALID_NAME, WARNING_METHOD_NAME |
Fields inherited from interface oracle.javatools.parser.java.v2.JavaOperators |
OPT_ADD, OPT_ADDASG, OPT_AND, OPT_ANNOTATION, OPT_ARRAYCONST, OPT_ASG, OPT_base, OPT_BITAND, OPT_BITANDASG, OPT_BITNOT, OPT_BITOR, OPT_BITORASG, OPT_BITXOR, OPT_BITXORASG, OPT_CLASS_LITERAL, OPT_COND, OPT_DEREF, OPT_DIV, OPT_DIVASG, OPT_DOT, OPT_EQ, OPT_GE, OPT_GT, OPT_INSTANCEOF, OPT_invalid, OPT_INVOKE, OPT_LE, OPT_LIST, OPT_LITERAL, OPT_LSH, OPT_LSHASG, OPT_LT, OPT_max, OPT_MINUS, OPT_MINUSASG, OPT_MOD, OPT_MODASG, OPT_MUL, OPT_MULASG, OPT_NEGATIVE, OPT_NESTEXP, OPT_NEWARRAY, OPT_NEWOBJECT, OPT_NOT, OPT_NOTEQ, OPT_OR, OPT_POSITIVE, OPT_POSTDEC, OPT_POSTINC, OPT_precedence, OPT_PREDEC, OPT_PREINC, OPT_QUALIFIED_SUPER, OPT_QUALIFIED_THIS, OPT_RSH, OPT_RSHASG, OPT_SIMPLE_NAME, OPT_tokens, OPT_TYPE, OPT_TYPECAST, OPT_URSH, OPT_URSHASG, OPT_words |
Fields inherited from interface oracle.javatools.parser.java.v2.JavaTokens |
DW_values, DW_words, J2SE_13, J2SE_14, J2SE_15, J2SE_16, KW_ABSTRACT, KW_ASSERT, KW_base, KW_BOOLEAN, KW_BREAK, KW_BYTE, KW_CASE, KW_CATCH, KW_CHAR, KW_CLASS, KW_CONST, KW_CONTINUE, KW_DEFAULT, KW_DO, KW_DOUBLE, KW_ELSE, KW_ENUM, KW_EXTENDS, KW_FINAL, KW_FINALLY, KW_FLOAT, KW_FOR, KW_GOTO, KW_IF, KW_IMPLEMENTS, KW_IMPORT, KW_INSTANCEOF, KW_INT, KW_INTERFACE, KW_j2se13_max, KW_j2se14_max, KW_j2se15_max, KW_j2se16_max, KW_LONG, KW_max, KW_NATIVE, KW_NEW, KW_PACKAGE, KW_PRIVATE, KW_PROTECTED, KW_PUBLIC, KW_RETURN, KW_SHORT, KW_STATIC, KW_STRICTFP, KW_SUPER, KW_SWITCH, KW_SYNCHRONIZED, KW_THIS, KW_THROW, KW_THROWS, KW_TRANSIENT, KW_TRY, KW_VOID, KW_VOLATILE, KW_WHILE, KW_words, OP_AND_ASG, OP_ASG, OP_AT, OP_base, OP_BINAND, OP_binary, OP_BINNOT, OP_BINOR, OP_BINXOR, OP_COLON, OP_COMMA, OP_DEC, OP_DIV, OP_DIV_ASG, OP_DOT, OP_ELLIPSIS, OP_EQ, OP_GE, OP_GT, OP_HASH, OP_INC, OP_LBRACE, OP_LBRACKET, OP_LE, OP_LOGAND, OP_LOGNOT, OP_LOGOR, OP_LPAREN, OP_LSH, OP_LSH_ASG, OP_LT, OP_max, OP_MINUS, OP_MINUS_ASG, OP_MOD, OP_MOD_ASG, OP_MUL, OP_MUL_ASG, OP_NE, OP_OR_ASG, OP_PLUS, OP_PLUS_ASG, OP_prefix, OP_QUES, OP_RBRACE, OP_RBRACKET, OP_RPAREN, OP_RSH, OP_RSH_ASG, OP_SEMI, OP_URSH, OP_URSH_ASG, OP_words, OP_XOR_ASG, TK_BOOLEAN_LITERAL, TK_CHAR_LITERAL, TK_DOC_COMMENT, TK_DOUBLE_LITERAL, TK_EOF, TK_FLOAT_LITERAL, TK_IDENTIFIER, TK_INT_LITERAL, TK_LITERAL_base, TK_LITERAL_max, TK_LONG_LITERAL, TK_max, TK_MULTI_COMMENT, TK_NULL_LITERAL, TK_SINGLE_COMMENT, TK_SQLJ, TK_STRING_LITERAL, TK_WHITESPACE |
Fields inherited from interface oracle.javatools.parser.java.v2.JavaPreferences |
BLANKLINES_AFTER_LAST_MEMBER, BLANKLINES_BEFORE_DOC_COMMENT, BLANKLINES_BEFORE_FIELD, BLANKLINES_BEFORE_FIRST_CLASS, BLANKLINES_BEFORE_FIRST_MEMBER, BLANKLINES_BEFORE_MEMBER_CLASS, BLANKLINES_BEFORE_METHOD, BLANKLINES_EMPTY_ANONYMOUS, BLANKLINES_EMPTY_BLOCK, BLANKLINES_EMPTY_CLASS, BLANKLINES_EMPTY_METHOD, BLANKLINES_IMPORTS_AFTER, BLANKLINES_PACKAGE_AFTER, BLANKLINES_PRESERVE_COUNT, CLONE_QUALIFIES_TYPES, FALSE, IGNORED_I, IGNORED_Z, IMPORT_GROUP_IMPORTS, IMPORT_GROUP_PACKAGE_DEPTH, IMPORT_INNER_CLASS_NAME, IMPORT_NARROW_MEMBERS_THRESHOLD, IMPORT_NARROW_THRESHOLD, INDENT_BLOCK_CHILDREN, INDENT_CLASS_MEMBERS, INDENT_CONTROL_BLOCKS, INDENT_NUM_SPACES, INDENT_REPLACE_WITH_TABS, INDENT_SWITCH_CASES, INDENT_TAB_SIZE, INTEGER_ALWAYS_WRAP, INTEGER_NEVER_WRAP, INTEGER_WRAP_IF_LONG, MEMBER_ORDER, NEWLINE_AFTER_SWITCH_CASE, NEWLINE_ARRAY_BRACES, NEWLINE_BLOCK_BRACES, NEWLINE_CATCH, NEWLINE_CLASS_BRACES, NEWLINE_ELSE, NEWLINE_EXTENDS, NEWLINE_FINALLY, NEWLINE_IMPLEMENTS, NEWLINE_METHOD_BRACES, NEWLINE_THROWS, NEWLINE_WHILE, ONE, PREFERENCES_base, PREFERENCES_defaults, PREFERENCES_keys, PREFERENCES_max, PREFERENCES_sun, SPACE_ARGUMENTS_BEFORE, SPACE_ASSIGN_AROUND, SPACE_BINARYOP_AROUND, SPACE_BRACES_AROUND, SPACE_BRACKETS_WITHIN, SPACE_COLON_AFTER, SPACE_COLON_BEFORE, SPACE_COMMA_AFTER, SPACE_COMMA_BEFORE, SPACE_KEYWORD_AFTER, SPACE_OPENBRACE_BEFORE, SPACE_PARAMETERS_BEFORE, SPACE_PARENS_WITHIN, SPACE_QUESTION_AFTER, SPACE_QUESTION_BEFORE, SPACE_SEMICOLON_AFTER, SPACE_SEMICOLON_BEFORE, SPACE_TYPECAST_AFTER, TRI_ALWAYS_WRAP, TRI_NEVER_WRAP, TRI_WRAP_IF_LONG, TRUE, TWO, UNKNOWN_I, UNKNOWN_Z, WRAP_ALIGN, WRAP_ARRAY_CONSTANT, WRAP_BINARY_OPERATOR, WRAP_DOT_CHAIN, WRAP_EXTENDS, WRAP_FOR_STATEMENT, WRAP_INVOKE_ARGUMENTS, WRAP_LINE_WIDTH, WRAP_MODIFIERS, WRAP_PARAMETER_LIST, WRAP_QUES_OPERATOR, WRAP_THROWS, ZERO |
Methods inherited from class oracle.javatools.parser.java.v2.common.AbstractType |
clearCompiledInfo, equals, getAnnotation, getAnnotations, getArrayDimensions, getBaseComponentType, getClass, getClasses, getClinitMethod, getClosestClass, getComponentType, getDeclaredClass, getDeclaredClasses, getDeclaredConstructor, getDeclaredConstructors, getDeclaredField, getDeclaredFields, getDeclaredMethod, getDeclaredMethods, getDeclaredMethods, getField, getFields, getHierarchy, getInterfaces, getMethod, getMethods, getMethods, getOwner, getOwningClass, getOwningMethod, getPackage, getPackageName, getRawName, getResolvedType, getSourceName, getSuperclass, getThisValue, getTypeParameter, getUnqualifiedName, getUnresolvedInterfaces, getUnresolvedType, getURL, hashCode, isArray, isAssignableFrom, isSubtypeOf, printCompiledInfo |
Methods inherited from class oracle.javatools.parser.java.v2.common.AbstractElement |
getActualTypeArguments, getDeclaredAnnotation, getDeclaredAnnotations, getSourceElement, getSourceSymbol, getTypeParameters, hasActualTypeArguments, hasTypeParameters, isAbstract, isDeprecated, isFinal, isHidden, isPackagePrivate, isPrivate, isProtected, isPublic, isSourceElement, isStatic, isSynthetic, isTransient, isVarargs |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface oracle.javatools.parser.java.v2.model.JavaType |
equals, getArrayDimensions, getBaseComponentType, getClass, getClasses, getClinitMethod, getClosestClass, getComponentType, getDeclaredClass, getDeclaredClasses, getDeclaredConstructor, getDeclaredConstructors, getDeclaredField, getDeclaredFields, getDeclaredMethod, getDeclaredMethods, getDeclaredMethods, getField, getFields, getHierarchy, getInterfaces, getMethod, getMethods, getMethods, getPackage, getPackageName, getRawName, getSuperclass, getThisValue, getUnqualifiedName, getUnresolvedInterfaces, getURL, isArray, isAssignableFrom, isSubtypeOf |
PRIMITIVE_objects
public static final PrimitiveType[] PRIMITIVE_objects
- Array of PrimitiveObj instances.
Valid indices are [ 0, PRIMITIVE_max ).
PRIMITIVE_lookup
public static final PrimitiveType[] PRIMITIVE_lookup
- Token-to-primitive lookup table indexed by tk - KW_base value.
Valid indices are [ KW_base, KW_max ).
PRIMITIVE_alpha
public static final PrimitiveType[] PRIMITIVE_alpha
- Letter-to-primitive lookup table indexed by ch - 'A' value.
Valid indices are [ 'A', 'Z' ].
primCode
public final byte primCode
- Primitive code.
PrimitiveType
protected PrimitiveType(byte code)
lookupPrimitive
public static PrimitiveType lookupPrimitive(java.lang.String name)
applyUnboxingConversion
public static PrimitiveType applyUnboxingConversion(JavaType input)
isNumeric
public static boolean isNumeric(PrimitiveType subject)
applyWideningConversion
public static boolean applyWideningConversion(PrimitiveType subject,
PrimitiveType target)
- JLS 5.1.2.
- Returns:
- True if subject may be widened to or is equal to the target.
applyNarrowingConversion
public static boolean applyNarrowingConversion(PrimitiveType subject,
PrimitiveType target)
- JLS 5.1.3.
- Returns:
- True if subject may be narrowed to or is equal to the target.
isNumeric
public boolean isNumeric()
isIntegral
public boolean isIntegral()
isFloatingPoint
public boolean isFloatingPoint()
getFile
public JavaFile getFile()
- Specified by:
getFile
in interface JavaElement
- Returns:
- Returns the JavaFile that this element is contained in.
If a SourceFile is returned, then this element is declared in or
otherwise comes in a SourceFile.
A non-null JavaFile may be returned that is not a SourceFile. For
example, a JavaClass that came from a .class file definition will
return such a JavaFile instance.
If null, then this element was created on-the-fly.
getQualifiedName
public java.lang.String getQualifiedName()
- Description copied from interface:
JavaType
- Gets the fully qualified name of this type in source format.
Here, "source format" means the format of a type reference in a
source compilation unit. A type's source name uniquely identifies
a type in a specific scope but not in the global scope.
The source name of a non-parametrized top-level type of the form
"pkg.Cls" is "pkg.Cls".
The source name of a non-parametrized member type of the form
T.InnerClass (that is, a member type InnerClass that is a member
of type T) is the source name of T suffixed with by
".InnerClass", e.g. "java.util.Map.Entry",
"pkg.Cls<?>.InnerClass".
The source name of a parametrized type starts with the source
name of the raw type and lists the source name of all of its
actual type argumenths, e.g.
"java.util.List<java.lang.String>".
The source name of an array type T[] is the source name of T
suffixed by the appropriate number of "[]"s.
The source name of a wildcard type is the string with which it
would appear in a source file. The three possible forms this can
take are: "?", "? extends T", "? super T".
The source name of a type parameter is just its name.
The source name of a primitive type should be pretty obvious.
The source name of a local inner class is just its name because a
local inner class is referenced, in a source file, by its
name.
An anonymous inner classes does not have a source name. It will
return the empty string for its source name.
Open for discussion: What should be returned by an anonymous
class? Technically, the concept of a source name is irrelevant
because anonymous classes may not be referred to in a source
compilation unit.
- Specified by:
getQualifiedName
in interface JavaType
- Specified by:
getQualifiedName
in class AbstractType
- Returns:
- The fully qualified source name for this type, empty for
anonymous classes. Example values:
java.lang.Object
java.util.Map<String,String>
java.lang.String[][]
getVMName
public java.lang.String getVMName()
- Description copied from interface:
JavaType
- Gets the VM name for this type. The JVMS3 defines an internal
name format for raw classes. We call this the VM name of a type.
It's useful for loading known types such as "java/lang/Object"
and "java/lang/Throwable". Here is how we define the "VM name"
for all types:
The VM name of a non-parametrized top-level type of the form
"pkg.Cls" is "pkg/Cls".
The VM name of a non-parametrized member-level type of the form
"pkg.Cls.InnerClass" is "pkg/Cls$InnerClass".
The VM name of a parametrized type is the VM name of the raw
type. Because parametrization is stripped at run-time, we will
omit it from the VM name.
The VM name of an array type T[] is the VM name of T suffixed by
the appropriate number of "[]"s.
The VM name of a local inner class or anonymous inner class is a
string that uniquely identifies it from all other types and is
usually prefixed with the VM name of its directly enclosing
class. For example, an anonymous inner class belonging to the
type "pkg.Cls" may return "pkg/Cls$1".
The VM name of any other type is the same as its source name.
- Specified by:
getVMName
in interface JavaType
- Specified by:
getVMName
in class AbstractType
- Returns:
- The raw name, also known as the VM name, of this type.
e.g. "java/lang/Object", "java/util/Map$Entry"
getName
public java.lang.String getName()
- Description copied from interface:
JavaType
- Gets the simplest name of this type with "[]"s if present.
The name of a non-parametrized top-level type of the form
"pkg.Cls" is "Cls".
The name of a non-parametrized member type of the form
"pkg.Cls.InnerClass" is "InnerClass".
The name of an array type T[] is the name of T suffixed by
the appropriate number of "[]"s.
The name of a parametrized type is the same as the name of its
raw type. That is, the name of "pkg.Cls<String>" is simply
"Cls".
The name of a wildcard type is always "?".
The name of a type parameter should be pretty obvious.
The name of a primitive type should be pretty obvious.
The name of a local inner class is just its name.
An anonymous inner classes does not have a name and will return
the empty string.
- Specified by:
getName
in interface JavaHasName
- Specified by:
getName
in interface JavaType
- Specified by:
getName
in class AbstractType
- Returns:
- The simple name of this type with "[]"s if present.
getDescriptor
public java.lang.String getDescriptor()
- Description copied from interface:
JavaType
- Gets the descriptor for this type, as defined by the JVMS2.
Note: The descriptor is equivalent to the type signature of this
type's erasure.
For jdk < 1.5, the "FieldDescriptor" is returned (JVMS2). For jdk
< 1.5, descriptors and signatures are the same thing.
For jdk >= 1.5, a type signature of the type erasure is
returned.
Note: Do not confuse a type's descriptor with a method's
descriptor. The descriptor of the type of a method is the field
descriptor describing its return type. The descriptor of a method
describes parameter types.
- Specified by:
getDescriptor
in interface JavaType
- Overrides:
getDescriptor
in class AbstractClass
- Returns:
- The descriptor as defined in the JVMS2. Always non-null.
Example values: "I", "Ljava/lang/Object;"
getTypeSignature
public java.lang.String getTypeSignature()
- Description copied from interface:
JavaType
- Gets the type signature for this type, as defined by the
JVMS3.
A JavaClass returns its "ClassTypeSignature" (JVMS3). A JavaClass
is uniquely identified by its type signature. Example value:
Ljava/util/List;
A JavaTypeVariable returns its "TypeVariableSignature" (JVMS3). A
type variable is uniquely identified by the combination of its
owning declaration AND its type signature. Example value:
TE;
A WildcardType returns its "TypeArgument" value (JVMS3). A
wildcard type is uniquely identified by its type
signature. Example values: *
+Ljava/lang/Object;
.
- Specified by:
getTypeSignature
in interface JavaType
- Overrides:
getTypeSignature
in class AbstractClass
- Returns:
- The type signature as defined in the JVMS3. Always
non-null.
getSignature
public java.lang.String getSignature()
- Description copied from interface:
JavaType
- Gets the "Signature" attribute of this type, as defined by the
JVMS3.
The "Signature" attribute for a field is the "ClassTypeSignature"
for its type.
The "Signature" attribute for a method involves the
"ClassSignature"s for its type parameters and the
"ClassTypeSignature"s of its remaining constituent types.
A JavaClass returns its "ClassSignature" (JVMS3).
A JavaTypeVariable does not have a class signature, but will
return a string for use in a class signature or a method
signature.
A WildcardType does not have a class signature and may not part
of a class signature. Its return value is undefined.
- Specified by:
getSignature
in interface JavaType
- Overrides:
getSignature
in class AbstractClass
- Returns:
- The class signature as defined in the JVMS3. "A signature
is a string representing the generic type of a field or method,
or generic type information for a class declaration." Always
non-null.
getModifiers
public int getModifiers()
- Specified by:
getModifiers
in interface JavaElement
- Overrides:
getModifiers
in class AbstractType
- Returns:
- The access modifiers on this element.
isPrimitive
public boolean isPrimitive()
- Specified by:
isPrimitive
in interface JavaType
- Overrides:
isPrimitive
in class AbstractType
- Returns:
- True if this type is a primitive type.
Copyright © 1997, 2011, Oracle. All rights reserved.