public class TypeDeclarationStatement extends Statement
This kind of node is used to convert a type declaration node into a statement node by wrapping it.
TypeDeclarationStatement: TypeDeclaration EnumDeclarationAlthough allowed at the AST, not all arrangements of AST nodes are meaningful; in particular, only class and enum declarations are meaningful in the context of a block.
Modifier and Type | Field and Description |
---|---|
static ChildPropertyDescriptor |
DECLARATION_PROPERTY
The "declaration" structural property of this node type (child type:
AbstractTypeDeclaration ) (added in JLS3 API). |
static ChildPropertyDescriptor |
TYPE_DECLARATION_PROPERTY
Deprecated.
In the JLS3 API, this property is replaced by
DECLARATION_PROPERTY . |
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
Modifier and Type | Method and Description |
---|---|
AbstractTypeDeclaration |
getDeclaration()
Returns the abstract type declaration of this local type declaration
statement (added in JLS3 API).
|
TypeDeclaration |
getTypeDeclaration()
Deprecated.
In the JLS3 API, this method is replaced by
getDeclaration() , which returns AbstractTypeDeclaration
instead of TypeDeclaration . |
static List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.
|
ITypeBinding |
resolveBinding()
Resolves and returns the binding for the class or interface declared in
this type declaration statement.
|
void |
setDeclaration(AbstractTypeDeclaration decl)
Sets the abstract type declaration of this local type declaration
statement (added in JLS3 API).
|
void |
setTypeDeclaration(TypeDeclaration decl)
Deprecated.
In the JLS3 API, this method is replaced by
setDeclaration(AbstractTypeDeclaration) which takes
AbstractTypeDeclaration instead of
TypeDeclaration . |
getLeadingComment, setLeadingComment
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
public static final ChildPropertyDescriptor TYPE_DECLARATION_PROPERTY
DECLARATION_PROPERTY
.TypeDeclaration
) (JLS2 API only).public static final ChildPropertyDescriptor DECLARATION_PROPERTY
AbstractTypeDeclaration
) (added in JLS3 API).public static List propertyDescriptors(int apiLevel)
apiLevel
- the API level; one of the
AST.JLS*
constantsStructuralPropertyDescriptor
)public AbstractTypeDeclaration getDeclaration()
public void setDeclaration(AbstractTypeDeclaration decl)
decl
- the type declaration nodeIllegalArgumentException
- if:
public TypeDeclaration getTypeDeclaration()
getDeclaration()
, which returns AbstractTypeDeclaration
instead of TypeDeclaration
.UnsupportedOperationException
- if this operation is used in
an AST later than JLS2public void setTypeDeclaration(TypeDeclaration decl)
setDeclaration(AbstractTypeDeclaration)
which takes
AbstractTypeDeclaration
instead of
TypeDeclaration
.decl
- the type declaration nodeIllegalArgumentException
- if:
UnsupportedOperationException
- if this operation is used in
an AST later than JLS2public ITypeBinding resolveBinding()
Note that bindings are generally unavailable unless requested when the AST is being built.
null
if the binding cannot be
resolved
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.