org.aspectj.org.eclipse.jdt.core.dom
Class AnnotatableType

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.core.dom.ASTNode
      extended by org.aspectj.org.eclipse.jdt.core.dom.Type
          extended by org.aspectj.org.eclipse.jdt.core.dom.AnnotatableType
Direct Known Subclasses:
NameQualifiedType, PrimitiveType, QualifiedType, SimpleType, WildcardType

public abstract class AnnotatableType
extends Type

Abstract base class of AST nodes that represent an annotatable type (added in JLS8 API).

Introduced in JLS8, type references that can be annotated are represented by AnnotatableType. For the list of types extending AnnotatableType, see Type.

Note that type annotations (ITypeBinding.getTypeAnnotations()) that semantically belong to a resolved type reference don't always show up in annotations(). Syntactically, type annotations can also be part of an associated declaration node's modifiers() list.

Since:
3.10

Field Summary
 
Fields inherited from class org.aspectj.org.eclipse.jdt.core.dom.ASTNode
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
 
Method Summary
 java.util.List annotations()
          Returns the live ordered list of annotations for this Type node (added in JLS8 API).
 ChildListPropertyDescriptor getAnnotationsProperty()
          Returns the structural property descriptor for the "annotations" property of this node (element type: Annotation) (added in JLS8 API).
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.dom.Type
isAnnotatable, isArrayType, isIntersectionType, isNameQualifiedType, isParameterizedType, isPrimitiveType, isQualifiedType, isSimpleType, isUnionType, isWildcardType, resolveBinding
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getAnnotationsProperty

public final ChildListPropertyDescriptor getAnnotationsProperty()
Returns the structural property descriptor for the "annotations" property of this node (element type: Annotation) (added in JLS8 API).

Returns:
the property descriptor

annotations

public java.util.List annotations()
Returns the live ordered list of annotations for this Type node (added in JLS8 API).

Note that type annotations (ITypeBinding.getTypeAnnotations()) that semantically belong to a resolved type reference don't always show up in this list. Syntactically, type annotations can also be part of an associated declaration node's modifiers() list.

Returns:
the live list of annotations (element type: Annotation)
Throws:
java.lang.UnsupportedOperationException - if this operation is used below JLS8
See Also:
ITypeBinding.getTypeAnnotations()