public abstract class AbstractType extends AbstractElement implements JavaType
JavaPreferences.MemberOrder
EMPTY_ARRAY
ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEFAULT, 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_min, PRIMITIVE_NULL, PRIMITIVE_SHORT, PRIMITIVE_tokens, PRIMITIVE_unary, PRIMITIVE_VOID, SRC_ANNOTATION, SRC_base, SRC_BLOCK, SRC_CATCH_PARAMETER, 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_LAMBDA, SRC_EXPR_LIST, SRC_EXPR_LITERAL, SRC_EXPR_max, SRC_EXPR_METHOD_CALL, SRC_EXPR_METHOD_REFERENCE, 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_LAMBDA_PARAMETER, 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_TRY_RESOURCES_LIST, SRC_TYPE_ARGUMENT, SRC_TYPE_ARGUMENT_LIST, SRC_TYPE_PARAMETER, SRC_TYPE_REF, SRC_words, TY_ANNOTATE, TY_CLASS, TY_ENUM, TY_INTERFACE, TY_invalid, TY_max, TY_words
ERROR_ABSTRACT_CLASS, ERROR_ABSTRACT_METHOD_CALL, ERROR_AMBIGUOUS_IMPORT, ERROR_AMBIGUOUS_REF, ERROR_ANNOTATION_ELEMENT_NAME_NOT_FOUND, ERROR_ASSERT_IDENTIFIER, ERROR_base, ERROR_BREAK_OUTSIDE_SWITCH_OR_LOOP, ERROR_CANCELLED, ERROR_CANNOT_ASSIGN_FINAL, ERROR_CANNOT_INSTANTIATE_ENUMS, 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_CONTINUE_OUTSIDE_OF_LOOP, ERROR_CYCLIC_ANNOTATION_TYPE_REFERENCE, ERROR_DUPLICATE, ERROR_EMPTY_CHAR_LITERAL, ERROR_EMPTY_EXPRESSION, ERROR_EXCEPTION_NEVER_THROWN, ERROR_EXPECTING_ONE, ERROR_EXPECTING_TWO, ERROR_EXPECTING_TYPE, ERROR_EXTENDS_NOT_ALLOWED, ERROR_EXTENDS_TOO_MANY, ERROR_FINAL_ALREADY_ASSIGNED, ERROR_FORWARD_REFERENCE, ERROR_GENERIC_COMPILER_ERROR, ERROR_GENERIC_TYPE, ERROR_ILLEGAL_ANNOTATION, ERROR_ILLEGAL_ARRAY_INITIALIZER, ERROR_ILLEGAL_DEFAULT, ERROR_ILLEGAL_DIAMOND, ERROR_ILLEGAL_LABEL, ERROR_ILLEGAL_METHOD_ARGUMENT_EXPRESSION, ERROR_ILLEGAL_METHOD_RETURN_TYPE_OVERRIDE, ERROR_ILLEGAL_METHOD_THROW_TYPE_OVERRIDE, ERROR_ILLEGAL_METHOD_VISIBILITY_OVERRIDE, ERROR_ILLEGAL_OVERRIDE_ANNOTATION, ERROR_ILLEGAL_START_OF_EXPR, ERROR_ILLEGAL_TYPE_PARAMETERS, ERROR_ILLEGAL_VARARGS, ERROR_IMPLEMENTS_NOT_ALLOWED, ERROR_IMPORT_NOT_FOUND, ERROR_INCOMPATIBLE_TYPES, ERROR_INCOMPATIBLE_WITH_FUNCTIONAL_INTERFACE_TARGET, ERROR_INTERNAL, ERROR_INVALID_ANNOTATION_MEMBER_TYPE, ERROR_INVALID_CHAR_LITERAL, ERROR_INVALID_ESCAPE_SEQUENCE, ERROR_INVALID_EXPR_STMT, ERROR_INVALID_NAME, ERROR_INVALID_OPERATION, ERROR_INVALID_STRING_LITERAL, 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_ANNOTATION_ARGUMENT, ERROR_MISSING_ANNOTATION_ELEMENT_NAME, ERROR_MISSING_CASE_OR_DEFAULT_LABEL, ERROR_MISSING_CONDITION, ERROR_MISSING_METHOD_BODY, ERROR_MISSING_RETURN, ERROR_MODIFIER_NOT_ALLOWED, ERROR_MODIFIER_REPEATED, ERROR_MULTIPLE_COMPONENTS, ERROR_NAME_NOT_FOUND, ERROR_none, ERROR_NOT_A_CONSTANT_EXPRESSION, 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_FINAL_OR_EFFECTIVELY_FINAL, ERROR_REQUIRE_OBJECT, ERROR_REQUIRE_OUTER_CLASS, ERROR_REQUIRE_VARIABLE, ERROR_SCAN_base, ERROR_SCAN_GENERIC, ERROR_SCAN_max, ERROR_SUPER_NOT_FIRST, ERROR_TARGET_NOT_FUNCTIONAL_INTERFACE, ERROR_THIS_NOT_FIRST, ERROR_TYPE_ARGUMENT_MISMATCH, ERROR_TYPE_IS_NOT_AUTOCLOSEABLE, ERROR_TYPE_IS_NOT_DISJUNCTIVE, ERROR_TYPE_IS_NOT_ITERABLE, ERROR_TYPE_NOT_ALLOWED, ERROR_TYPE_NOT_FOUND, ERROR_UNEXPECTED, ERROR_UNKNOWN, ERROR_UNREACHABLE_STATEMENT, ERROR_VARIABLE_NOT_ASSIGNED, ERROR_VOID_RETURN, ERROR_warnings, ERROR_words, ERROR_WRONG_CONTAINERFOR_ARGUMENT_TYPE, ERROR_WRONG_RECEIVER_TYPE, ERROR_WRONG_TARGET_META_ANNOTATION, NOTE_GENERIC_COMPILER_NOTE, SEVERITY_ERROR, SEVERITY_FATAL, SEVERITY_LINT, SEVERITY_NOTE, SEVERITY_WARNING, SEVERITY_ZERO, WARNING_AMBIGUOUS_DOC_REFERENCE, WARNING_ASSERT_IDENTIFIER, WARNING_DOC_REFERENCE_NOT_FOUND, WARNING_FINALLY_CANNOT_COMPLETE, WARNING_GENERIC_COMPILER_WARNING, WARNING_IMPORT_UNUSED, WARNING_INVALID_NAME, WARNING_METHOD_NAME, WARNING_SWITCH_CASE_FALL_THROUGH
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_LAMBDA, OPT_LE, OPT_LIST, OPT_LITERAL, OPT_LSH, OPT_LSHASG, OPT_LT, OPT_max, OPT_METHOD_REFERENCE, 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
DW_values, DW_words, J2SE_13, J2SE_14, J2SE_15, J2SE_16, J2SE_17, J2SE_18, J2SE_MAX, J2SE_MIN, 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_j2se17_max, KW_j2se18_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_COLONCOLON, 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_RIGHT_ARROW, OP_RPAREN, OP_RSH, OP_RSH_ASG, OP_SEMI, OP_URSH, OP_URSH_ASG, OP_words, OP_XOR_ASG, TK_base, 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, TK_words
ALIGN_ANONYMOUS_CLASS, ALIGN_ARRAY_INITIALIZERS, ALIGN_VARIABLE_NAMES, 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, CUDDLE_EMPTY_BRACES, 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, INDENT_TRAILING_COMMENTS, INTEGER_ALWAYS_WRAP, INTEGER_NEVER_WRAP, INTEGER_WRAP_IF_LONG, MEMBER_ORDER, NEWLINE_AFTER_SWITCH_CASE, NEWLINE_ANONYMOUS_CLASS_BRACES, NEWLINE_ARRAY_BRACES, NEWLINE_BLOCK_BRACES, NEWLINE_CASE_BRACES, NEWLINE_CATCH, NEWLINE_CATCH_BRACES, NEWLINE_CLASS_BRACES, NEWLINE_DO_BRACES, NEWLINE_ELSE, NEWLINE_ELSE_BRACES, NEWLINE_EXTENDS, NEWLINE_FINALLY, NEWLINE_FINALLY_BRACES, NEWLINE_FOR_BRACES, NEWLINE_IF_BRACES, NEWLINE_IMPLEMENTS, NEWLINE_METHOD_BRACES, NEWLINE_STATIC_INITIALIZER_BRACES, NEWLINE_SWITCH_BRACES, NEWLINE_SYNCHRONIZED_BRACES, NEWLINE_THROWS, NEWLINE_TRY_BRACES, NEWLINE_WHILE, NEWLINE_WHILE_BRACES, ONE, PREFERENCES_base, PREFERENCES_defaults, PREFERENCES_explanations, 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_LAMBDA_OPERATOR_AROUND, 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_ANNOTATIONS, WRAP_ANONYMOUS_CLASS_ASSIGNMENTS, WRAP_ARRAY_CONSTANT, WRAP_ASSERT_OPERATORS, WRAP_BEFORE_OPERATORS, WRAP_BEFORE_TERNARY_OPERATORS, WRAP_BINARY_OPERATOR, WRAP_CLASS_ANNOTATIONS, WRAP_DOT_CHAIN, WRAP_EXTENDS, WRAP_FIELD_ANNOTATIONS, WRAP_FOR_STATEMENT, WRAP_IMPLEMENTS, WRAP_INVOKE_ARGUMENTS, WRAP_LINE_WIDTH, WRAP_LOCAL_VARIABLE_ANNOTATIONS, WRAP_MARKER_ANNOTATIONS, WRAP_METHOD_ANNOTATIONS, WRAP_MODIFIERS, WRAP_PARAMETER_ANNOTATIONS, WRAP_PARAMETER_LIST, WRAP_QUES_OPERATOR, WRAP_STRING_EOL_CONCATENATIONS, WRAP_THROWS, WRAP_TYPE_ANNOTATIONS, ZERO
Constructor and Description |
---|
AbstractType() |
Modifier and Type | Method and Description |
---|---|
void |
clearCompiledInfo()
Overrides should chain.
|
boolean |
equals(java.lang.Object o) |
JavaAnnotation |
getAnnotation(JavaType annotationType)
Retrieves the annotation declared on this element that matches the input annotation type.
|
java.util.Collection |
getAnnotations()
Retrieves all the annotations declared on this element.
|
int |
getArrayDimensions() |
JavaType |
getBaseComponentType() |
JavaClass |
getClass(java.lang.String name)
Iteratively retrieves all member classes declared in this class or its hierarchy.
|
java.util.Collection |
getClasses()
Iteratively retrieves all member classes declared in this class or its hierarchy.
|
JavaMethod |
getClinitMethod() |
JavaClass |
getClosestClass()
Deprecated.
Please use
getTypeErasure() . |
JavaType |
getComponentType() |
java.util.Collection |
getDeclaredAnonymousClasses()
Get the anonymous classes in this type.
|
JavaClass |
getDeclaredClass(java.lang.String name)
Get the direct member class that has the incoming name.
|
java.util.Collection |
getDeclaredClasses()
Get the direct member classes of this type.
|
JavaMethod |
getDeclaredConstructor(JavaType[] targetTypes) |
java.util.Collection |
getDeclaredConstructors() |
JavaField |
getDeclaredField(java.lang.String name) |
java.util.Collection |
getDeclaredFields() |
java.util.Collection |
getDeclaredLocalClasses()
Get the local classes in this type.
|
JavaMethod |
getDeclaredMethod(java.lang.String name, JavaType[] targetTypes) |
java.util.Collection |
getDeclaredMethods() |
java.util.Collection |
getDeclaredMethods(java.lang.String name) |
abstract java.lang.String |
getDescriptor()
Gets the descriptor for this type, as defined by the JVMS2.
|
abstract int |
getElementKind() |
JavaField |
getField(java.lang.String name)
Iteratively searches for a field declared in this class or its hierarchy.
|
java.util.Collection |
getFields()
Iteratively retrieves all fields declared in this class and its hierarchy.
|
java.util.Set |
getHierarchy()
Recursively gets the full list of all resolved superclasses and super-interfaces.
|
java.util.Collection |
getInterfaces()
The name "getInterfaces" was chosen to be consistent with java/lang/Class.
|
JavaMethod |
getMethod(java.lang.String name, JavaType[] targetTypes)
Iteratively searches for a method declared in this class or its hierarchy.
|
java.util.Collection |
getMethods()
Iteratively retrieves all methods declared in this class or its hierarchy.
|
java.util.Collection |
getMethods(java.lang.String name)
Iteratively retrieves all methods declared in this class or its hierarchy.
|
int |
getModifiers() |
abstract java.lang.String |
getName()
Gets the simplest name of this type with "[]"s if present.
|
JavaElement |
getOwner()
Finds the owner of this JavaElement, which is the closest named ancestor found, such as a JavaClass, JavaMethod, JavaField, etc.
|
JavaClass |
getOwningClass() |
JavaMethod |
getOwningMethod() |
JavaPackage |
getPackage()
Gets the owning package, null if N/A.
|
java.lang.String |
getPackageName()
Gets the qualified name of the owning package.
|
abstract java.lang.String |
getQualifiedName()
Gets the fully qualified name of this type in source format.
|
java.lang.String |
getRawName()
Gets the raw name of this type.
|
JavaType |
getResolvedType()
A JavaField instance will return the field's type.
|
java.lang.String |
getSignature()
Gets the "Signature" attribute of this type, as defined by the JVMS3.
|
java.lang.String |
getSourceName() |
JavaType |
getSuperclass()
The name "getSuperclass" was chosen to be consistent with java/lang/Class.
|
CompiledTmpVariable |
getThisValue()
In the interest of minimizing the number of tmp variables floating around in the heap, each type may create a value object (when needed) and store it (with a weak reference) for later use.
|
java.util.Collection<JavaAnnotation> |
getTypeAnnotations()
Applies to elements that are used as a type reference which since JDK8 can be annotated.
|
abstract JavaClass |
getTypeErasure()
Gets the type erasure of this type, as defined by the JLS3.
|
JavaTypeVariable |
getTypeParameter(java.lang.String name) |
abstract java.lang.String |
getUniqueIdentifier()
Gets a unique identifier for this type.
|
java.lang.String |
getUnqualifiedName()
Gets the name of this type in its unqualified form.
|
java.util.Collection<UnresolvedType> |
getUnresolvedInterfaces()
When reverse engineering bytecode, some types cannot be resolved if the correct owning project is not associated to the JavaProvider.
|
UnresolvedType |
getUnresolvedSuperclass()
When reverse engineering bytecode, some types cannot be resolved if the correct owning project is not associated to the JavaProvider.
|
UnresolvedType |
getUnresolvedType()
Information about a type that has not been resolved.
|
java.net.URL |
getURL()
If the input for this type is a *.class file, the returned URL will be for the *.class file.
|
abstract java.lang.String |
getVMName()
Gets the VM name for this type.
|
int |
hashCode() |
boolean |
isAnnotation() |
boolean |
isAnonymousClass()
Determine if this is an anonymous class type.
|
boolean |
isArray() |
boolean |
isAssignableFrom(JavaType subject)
Consider the following expression where S (subject) represents another type and T (this) represents this type.
|
boolean |
isEnum() |
boolean |
isErasedType()
Is this a class with type parameters instantiated without any type arguments? For instance, the type of 'new ArrayList()' would be an erased type.
|
boolean |
isExported() |
boolean |
isInterface() |
boolean |
isLocalClass()
Determine if this is a local (to a method) class type.
|
boolean |
isMemberClass()
Determine if this is a member class type.
|
boolean |
isPrimitive()
Determine if this type is a primitive type.
|
boolean |
isSubtypeOf(JavaType supertype)
True if this is a subtype of the indicated argument.
|
java.lang.String |
printCompiledInfo()
Debugging function for printing out compiled information.
|
getActualTypeArguments, getDeclaredAnnotation, getDeclaredAnnotations, getSourceElement, getSourceSymbol, getTypeParameters, hasActualTypeArguments, hasTypeParameters, isAbstract, isDeprecated, isFinal, isHidden, isPackagePrivate, isPrivate, isProtected, isPublic, isSourceElement, isStatic, isSynthetic, isTransient, isVarargs
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
getTypeSignature
getActualTypeArguments, getTypeParameters, hasActualTypeArguments, hasTypeParameters
isAbstract, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
getDeclaredAnnotation, getDeclaredAnnotations
getFile, getSourceElement, isDeprecated, isFinal, isHidden, isSourceElement, isSynthetic
public abstract int getElementKind()
getElementKind
in interface JavaElement
getElementKind
in class AbstractElement
public abstract java.lang.String getName()
JavaType
The name of a non-parameterized top-level type of the form "pkg.Cls" is "Cls".
The name of a non-parameterized 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 parameterized 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 type is the type parameter name.
The name of a primitive type is the primitive type name.
The name of a local inner class type is just its name.
The name of an anonymous class type is the empty String.
getName
in interface JavaHasName
getName
in interface JavaType
public abstract java.lang.String getQualifiedName()
JavaType
The source name of a non-parameterized top-level type of the form "pkg.Cls" is "pkg.Cls".
The source name of a non-parameterized 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 parameterized 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 type is just its name.
The source name of a primitive type is the primitive type name.
The source name of a local inner class type is just its name because a local inner class is referenced, in a source file, by its name.
The name of an anonymous class type is the empty String.
getQualifiedName
in interface JavaType
java.lang.Object
java.util.Map<String,String>
java.lang.String[][]
public abstract java.lang.String getVMName()
JavaType
The VM name of a non-parameterized top-level type of the form "pkg.Cls" is "pkg/Cls".
The VM name of a non-parameterized member-level type of the form "pkg.Cls.InnerClass" is "pkg/Cls$InnerClass".
The VM name of a parameterized type is the VM name of the raw type. Because parameterization 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, the VM name for an anonymous inner class belonging to the type "pkg.Cls" may be "pkg/Cls$1" and the VM name for a local class of that type may be "pkg/Cls$1foo.
The VM name of any other type is the same as its source name.
public abstract java.lang.String getDescriptor()
JavaType
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.
getDescriptor
in interface JavaType
public abstract java.lang.String getUniqueIdentifier()
JavaType
getUniqueIdentifier
in interface JavaMember
getUniqueIdentifier
in interface JavaType
public abstract JavaClass getTypeErasure()
JavaType
getTypeErasure
in interface JavaType
public JavaType getResolvedType()
JavaHasType
A JavaMethod instance will return the method's return type.
A JavaVariable instance will return the variable's type.
A JavaType instance will return itself.
An array is a special case, you can't determine the type of an array by its members, e.g. with { 0, 'e', (short)5 } the type could be int[], char[], short[], long[], Object[] and more. So for arrays the Null type (returns 'null' for the name) will be returned with the appropriate dimensions, e.g.: { "bar", "foo" } will have null[] type, { null, { null, 5, 5L } } will have null[][] type.
getResolvedType
in interface JavaHasType
public UnresolvedType getUnresolvedType()
JavaHasType
getUnresolvedType
in interface JavaHasType
getUnresolvedType
in class AbstractElement
public int getModifiers()
getModifiers
in interface JavaElement
getModifiers
in class AbstractElement
public JavaElement getOwner()
JavaElement
getOwner
in interface JavaElement
getOwner
in class AbstractElement
public JavaClass getOwningClass()
getOwningClass
in interface JavaMember
class C<E>
{
E field;
{
C generic = new C();
generic.field = null;
C<String> specific = new C<String>();
specific.field = null;
}
}
If this instance represents the member field accessed by "generic.field", then getOwningClass will return the type for "C".
If this instance represents the member field accessed by "specific.field", then getOwningClass will return the type for "C<String>".
Further, the expressions "generic.field" and "specific.field" do not refer to the same JavaField instance.
public JavaMethod getOwningMethod()
public boolean isExported()
isExported
in interface JavaType
public boolean isInterface()
isInterface
in interface JavaType
public boolean isAnnotation()
isAnnotation
in interface JavaType
public boolean isEnum()
public boolean isMemberClass()
JavaType
isMemberClass
in interface JavaType
public boolean isAnonymousClass()
JavaType
isAnonymousClass
in interface JavaType
public boolean isLocalClass()
JavaType
isLocalClass
in interface JavaType
public boolean isPrimitive()
JavaType
isPrimitive
in interface JavaType
public boolean isArray()
public JavaType getComponentType()
getComponentType
in interface JavaType
public int getArrayDimensions()
getArrayDimensions
in interface JavaType
public JavaType getBaseComponentType()
getBaseComponentType
in interface JavaType
public JavaTypeVariable getTypeParameter(java.lang.String name)
getTypeParameter
in interface JavaIsGeneric
public java.lang.String getUnqualifiedName()
JavaType
Unlike getName(), this will contain type parameters in their unqualified form. In other words, for types containing no type parameterization, the behavior is the same as getName().
getUnqualifiedName
in interface JavaType
public java.lang.String getRawName()
JavaType
The raw name of a parameterized top-level or member or local inner type is the source name of its type erasure, as defined by the JLS3. Think of the raw name as the source name with all parameterization stripped out.
The raw name of an array type T[] is the raw name of T suffixed by the appropriate number of "[]"s.
The raw name for any other type is the same as its source name.
getRawName
in interface JavaType
public java.lang.String getSourceName()
public java.lang.String getSignature()
JavaType
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.
getSignature
in interface JavaType
public java.lang.String printCompiledInfo()
JavaElement
printCompiledInfo
in interface JavaElement
printCompiledInfo
in class AbstractElement
public java.net.URL getURL()
JavaType
@Deprecated public JavaClass getClosestClass()
getTypeErasure()
.JavaType
JavaType.getTypeErasure()
. If this type is a ...
... JavaClass, then it is returned.
... JavaTypeVariable, then the first bound is returned. There is always at least one bound.
... JavaWildcardType, then the lower bound is returned. There is always at least one lower bound.
getClosestClass
in interface JavaType
public CompiledTmpVariable getThisValue()
JavaType
EXPERIMENTAL.
getThisValue
in interface JavaType
public JavaPackage getPackage()
JavaType
getPackage
in interface JavaType
public java.lang.String getPackageName()
JavaType
getPackageName
in interface JavaType
public JavaType getSuperclass()
JavaType
getSuperclass
in interface JavaType
If this is a JavaClass: Null for java/lang/Object and primitive types, non-null otherwise. Where no base class was declared, java/lang/Object is returned, even for interfaces.
If this is a JavaType: Null if no superclass was declared AND an interface was declared.
If this is a JavaWildcardType: Always null.
public UnresolvedType getUnresolvedSuperclass()
JavaType
getUnresolvedSuperclass
in interface JavaType
public java.util.Collection getInterfaces()
JavaType
getInterfaces
in interface JavaType
public java.util.Collection<UnresolvedType> getUnresolvedInterfaces()
JavaType
getUnresolvedInterfaces
in interface JavaType
public java.util.Set getHierarchy()
JavaType
getHierarchy
in interface JavaType
public boolean isAssignableFrom(JavaType subject)
JavaType
void method( S subject ) { T variable = subject; }Notice that because the parameter subject is not a constant-value, the assignment conversion will not perform the implicit narrowing conversion.
NOTE: isAssignableFrom will do auto-boxing IFF a JavaProvider can be retrieved from the subject or target, otherwise auto-boxing cannot be performed. Consider using one of the Conversions.applyAssignmentConversion methods which allow specification of a JavaProvider. SourceFile has a method to retrieve a JavaProvider.
isAssignableFrom
in interface JavaType
public boolean isSubtypeOf(JavaType supertype)
JavaType
isSubtypeOf
in interface JavaType
public java.util.Collection getDeclaredFields()
getDeclaredFields
in interface JavaType
public JavaField getDeclaredField(java.lang.String name)
getDeclaredField
in interface JavaType
name
- Require non-null.public java.util.Collection getDeclaredMethods()
getDeclaredMethods
in interface JavaType
public java.util.Collection getDeclaredMethods(java.lang.String name)
getDeclaredMethods
in interface JavaType
public JavaMethod getDeclaredMethod(java.lang.String name, JavaType[] targetTypes)
getDeclaredMethod
in interface JavaType
targetTypes
- Null indicates an empty parameter list.public java.util.Collection getDeclaredConstructors()
getDeclaredConstructors
in interface JavaType
public JavaMethod getDeclaredConstructor(JavaType[] targetTypes)
getDeclaredConstructor
in interface JavaType
targetTypes
- Null indicates an empty parameter list.public JavaMethod getClinitMethod()
getClinitMethod
in interface JavaType
public java.util.Collection getDeclaredClasses()
JavaType
getDeclaredClasses
in interface JavaType
public JavaClass getDeclaredClass(java.lang.String name)
JavaType
getDeclaredClass
in interface JavaType
public java.util.Collection getDeclaredAnonymousClasses()
JavaType
getDeclaredAnonymousClasses
in interface JavaType
public java.util.Collection getDeclaredLocalClasses()
JavaType
getDeclaredLocalClasses
in interface JavaType
public java.util.Collection getFields()
JavaType
The implicit length field for array types is not reflected by this method.
public JavaField getField(java.lang.String name)
JavaType
The implicit length field for array types is not reflected by this method.
public java.util.Collection getMethods()
JavaType
getMethods
in interface JavaType
public java.util.Collection getMethods(java.lang.String name)
JavaType
getMethods
in interface JavaType
name
- Require non-null.public JavaMethod getMethod(java.lang.String name, JavaType[] targetTypes)
JavaType
public java.util.Collection getClasses()
JavaType
getClasses
in interface JavaType
public JavaClass getClass(java.lang.String name)
JavaType
Note: Be careful not to get this confused with JavaProvider.getClass( String ).
public java.util.Collection getAnnotations()
JavaHasAnnotations
getAnnotations
in interface JavaHasAnnotations
getAnnotations
in class AbstractElement
public JavaAnnotation getAnnotation(JavaType annotationType)
JavaHasAnnotations
getAnnotation
in interface JavaHasAnnotations
getAnnotation
in class AbstractElement
public boolean equals(java.lang.Object o)
public int hashCode()
hashCode
in class java.lang.Object
public void clearCompiledInfo()
AbstractElement
clearCompiledInfo
in class AbstractElement
public java.util.Collection<JavaAnnotation> getTypeAnnotations()
JavaType
getTypeAnnotations
in interface JavaType
public boolean isErasedType()
JavaType
isErasedType
in interface JavaType