Package org.eclipse.jdt.core.dom
Class BodyDeclaration
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.BodyDeclaration
- Direct Known Subclasses:
AbstractTypeDeclaration
,AnnotationTypeMemberDeclaration
,EnumConstantDeclaration
,FieldDeclaration
,Initializer
,MethodDeclaration
Abstract base class of all AST nodes that represent body declarations
that may appear in the body of some kind of class or interface declaration,
including anonymous class declarations, enumeration declarations, and
enumeration constant declarations.
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.
- Since:
- 2.0
-
Field Summary
Fields inherited from class 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, CASE_DEFAULT_EXPRESSION, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EitherOr_MultiPattern, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, 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, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_FRAGMENT, STRING_LITERAL, STRING_TEMPLATE_COMPONENT, STRING_TEMPLATE_EXPRESSION, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, UNNAMED_CLASS, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
Method Summary
Modifier and TypeMethodDescriptionReturns the doc comment node.final ChildPropertyDescriptor
Returns structural property descriptor for the "javadoc" property of this node (child type:Javadoc
).int
Returns the modifiers explicitly specified on this declaration.Returns structural property descriptor for the "modifiers" property of this node as used in JLS3 (element type:IExtendedModifier
).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.Methods inherited from class 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
-
Method Details
-
getModifiersProperty
Returns structural property descriptor for the "modifiers" property of this node as used in JLS3 (element type:IExtendedModifier
).- Returns:
- the property descriptor
- Since:
- 3.1
-
getJavadocProperty
Returns structural property descriptor for the "javadoc" property of this node (child type:Javadoc
).- Returns:
- the property descriptor
- Since:
- 3.1
-
getJavadoc
Returns the doc comment node.- Returns:
- the doc comment node, or
null
if none
-
setJavadoc
Sets or clears the doc comment node.- Parameters:
docComment
- the doc comment node, ornull
if none- Throws:
IllegalArgumentException
- if the doc comment string is invalid
-
getModifiers
public int getModifiers()Returns the modifiers explicitly specified on this declaration.In the JLS3 API, this method is a convenience method that computes these flags from
modifiers()
.- Returns:
- the bit-wise "or" of
Modifier
constants - See Also:
-
setModifiers
public void setModifiers(int modifiers) Deprecated.In the JLS3 API, this method is replaced bymodifiers()
, which contains a list ofModifier
nodes.Sets the modifiers explicitly specified on this declaration (JLS2 API only).- Parameters:
modifiers
- the given modifiers (bit-wise "or" ofModifier
constants)- Throws:
UnsupportedOperationException
- if this operation is used in an AST later than JLS2- See Also:
-
modifiers
Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API).- Returns:
- the live list of modifiers and annotations
(element type:
IExtendedModifier
) - Throws:
UnsupportedOperationException
- if this operation is used in a JLS2 AST- Since:
- 3.1
-
modifiers()
, which contains a list ofModifier
nodes.