public abstract class BodyDeclaration extends ASTNode
BodyDeclaration:AbstractTypeDeclaration
AnnotationTypeDeclaration
EnumDeclaration
TypeDeclaration
(for classes and interfaces)AnnotationTypeMemberDeclaration
EnumConstantDeclaration
FieldDeclaration
Initializer
MethodDeclaration
(for methods and constructors)
All types of body declarations carry modifiers (and annotations), although they differ in which modifiers are allowed. Most types of body declarations can carry a doc comment; Initializer is the only ones that does not. The source range for body declarations always includes the doc comment if present.
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, EXPORTS_DIRECTIVE, 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, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REQUIRES_DIRECTIVE, 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, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
Modifier and Type | Method and Description |
---|---|
Javadoc |
getJavadoc()
Returns the doc comment node.
|
ChildPropertyDescriptor |
getJavadocProperty()
Returns structural property descriptor for the "javadoc" property
of this node (child type:
Javadoc ). |
int |
getModifiers()
Returns the modifiers explicitly specified on this declaration.
|
ChildListPropertyDescriptor |
getModifiersProperty()
Returns structural property descriptor for the "modifiers" property
of this node as used in JLS3 (element type:
IExtendedModifier ). |
List |
modifiers()
Returns the live ordered list of modifiers and annotations
of this declaration (added in JLS3 API).
|
void |
setJavadoc(Javadoc docComment)
Sets or clears the doc comment node.
|
void |
setModifiers(int modifiers)
Deprecated.
In the JLS3 API, this method is replaced by
modifiers() , which contains a list of Modifier nodes. |
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 final ChildListPropertyDescriptor getModifiersProperty()
IExtendedModifier
).public final ChildPropertyDescriptor getJavadocProperty()
Javadoc
).public Javadoc getJavadoc()
null
if nonepublic void setJavadoc(Javadoc docComment)
docComment
- the doc comment node, or null
if noneIllegalArgumentException
- if the doc comment string is invalidpublic int getModifiers()
In the JLS3 API, this method is a convenience method that
computes these flags from modifiers()
.
Modifier
constantsModifier
public void setModifiers(int modifiers)
modifiers()
, which contains a list of Modifier
nodes.modifiers
- the given modifiers (bit-wise "or" of Modifier
constants)UnsupportedOperationException
- if this operation is used in
an AST later than JLS2Modifier
public List modifiers()
IExtendedModifier
)UnsupportedOperationException
- if this operation is used in
a JLS2 AST
Copyright (c) 2000, 2018 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.