Package org.eclipse.jdt.core.dom
Class VariableDeclaration
- java.lang.Object
-
- org.eclipse.jdt.core.dom.ASTNode
-
- org.eclipse.jdt.core.dom.VariableDeclaration
-
- Direct Known Subclasses:
SingleVariableDeclaration
,VariableDeclarationFragment
public abstract class VariableDeclaration extends ASTNode
Abstract base class of all AST node types that declare a single variable.VariableDeclaration: SingleVariableDeclaration VariableDeclarationFragment
- Since:
- 2.0
- See Also:
SingleVariableDeclaration
,VariableDeclarationFragment
-
-
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, 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, RECORD_DECLARATION, 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_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_BLOCK, 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, YIELD_STATEMENT
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description List
extraDimensions()
Returns the live ordered list of extra dimensions with optional annotations (added in JLS8 API).int
getExtraDimensions()
Returns the number of extra array dimensions over and above the explicitly-specified type.ChildListPropertyDescriptor
getExtraDimensions2Property()
Returns the structural property descriptor for the "extraDimensions" property of this node (element type:Dimension
) (added in JLS8 API).SimplePropertyDescriptor
getExtraDimensionsProperty()
Deprecated.In JLS8 and later, usegetExtraDimensions2Property()
instead.Expression
getInitializer()
Returns the initializer of this variable declaration, ornull
if there is none.ChildPropertyDescriptor
getInitializerProperty()
Returns structural property descriptor for the "initializer" property of this node (child type:Expression
).SimpleName
getName()
Returns the name of the variable declared in this variable declaration.ChildPropertyDescriptor
getNameProperty()
Returns the structural property descriptor for the "name" property of this node (child type:SimpleName
).IVariableBinding
resolveBinding()
Resolves and returns the binding for the variable declared in this variable declaration.void
setExtraDimensions(int dimensions)
Deprecated.In the JLS8 API, this method is replaced byextraDimensions()
which contains a list ofDimension
nodes.void
setInitializer(Expression initializer)
Sets or clears the initializer of this variable declaration.void
setName(SimpleName variableName)
Sets the name of the variable declared in this variable declaration to the given name.-
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 Detail
-
getNameProperty
public final ChildPropertyDescriptor getNameProperty()
Returns the structural property descriptor for the "name" property of this node (child type:SimpleName
).- Returns:
- the property descriptor
- Since:
- 3.1
-
getExtraDimensionsProperty
public final SimplePropertyDescriptor getExtraDimensionsProperty()
Deprecated.In JLS8 and later, usegetExtraDimensions2Property()
instead.Returns the structural property descriptor for the "extraDimensions" property of this node (type:Integer
) (below JLS8 only).- Returns:
- the property descriptor
- Since:
- 3.1
-
getExtraDimensions2Property
public final ChildListPropertyDescriptor getExtraDimensions2Property()
Returns the structural property descriptor for the "extraDimensions" property of this node (element type:Dimension
) (added in JLS8 API).- Returns:
- the property descriptor
- Since:
- 3.10
-
getInitializerProperty
public final ChildPropertyDescriptor getInitializerProperty()
Returns structural property descriptor for the "initializer" property of this node (child type:Expression
).- Returns:
- the property descriptor
- Since:
- 3.1
-
getName
public SimpleName getName()
Returns the name of the variable declared in this variable declaration.- Returns:
- the variable name node
-
setName
public void setName(SimpleName variableName)
Sets the name of the variable declared in this variable declaration to the given name.- Parameters:
variableName
- the new variable name- Throws:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
-
getExtraDimensions
public int getExtraDimensions()
Returns the number of extra array dimensions over and above the explicitly-specified type.For example,
int x[][]
has a type ofint
and two extra array dimensions;int[][] x
has a type ofint[][]
and zero extra array dimensions. The two constructs have different ASTs, even though there are really syntactic variants of the same variable declaration.In the JLS8 API, this method is a convenience method that counts
extraDimensions()
.- Returns:
- the number of extra array dimensions
- Since:
- 2.1
-
setExtraDimensions
public void setExtraDimensions(int dimensions)
Deprecated.In the JLS8 API, this method is replaced byextraDimensions()
which contains a list ofDimension
nodes.Sets the number of extra array dimensions over and above the explicitly-specified type.For example,
int x[][]
has a type ofint
and two extra array dimensions;int[][] x
has a type ofint[][]
and zero extra array dimensions. The two constructs have different ASTs, even though there are really syntactic variants of the same variable declaration.- Parameters:
dimensions
- the number of array dimensions- Throws:
IllegalArgumentException
- if the number of dimensions is negativeUnsupportedOperationException
- if this operation is used in a JLS8 or later AST- Since:
- 2.1
-
extraDimensions
public List extraDimensions()
Returns the live ordered list of extra dimensions with optional annotations (added in JLS8 API).- Returns:
- the live list of extra dimensions with optional annotations (element type:
Dimension
) - Throws:
UnsupportedOperationException
- if this operation is used below JLS8- Since:
- 3.10
-
getInitializer
public Expression getInitializer()
Returns the initializer of this variable declaration, ornull
if there is none.- Returns:
- the initializer expression node, or
null
if there is none
-
setInitializer
public void setInitializer(Expression initializer)
Sets or clears the initializer of this variable declaration.- Parameters:
initializer
- the initializer expression node, ornull
if there is none- Throws:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
-
resolveBinding
public IVariableBinding resolveBinding()
Resolves and returns the binding for the variable declared in this variable declaration.Note that bindings are generally unavailable unless requested when the AST is being built.
- Returns:
- the binding, or
null
if the binding cannot be resolved
-
-