public abstract class VariableDeclaration extends ASTNode
VariableDeclaration: SingleVariableDeclaration VariableDeclarationFragment
SingleVariableDeclaration
,
VariableDeclarationFragment
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 |
---|---|
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, use
getExtraDimensions2Property() instead. |
Expression |
getInitializer()
Returns the initializer of this variable declaration, or
null 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 by
extraDimensions() which contains a list of Dimension 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.
|
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 ChildPropertyDescriptor getNameProperty()
SimpleName
).public final SimplePropertyDescriptor getExtraDimensionsProperty()
getExtraDimensions2Property()
instead.Integer
) (below JLS8 only).public final ChildListPropertyDescriptor getExtraDimensions2Property()
Dimension
) (added in JLS8 API).public final ChildPropertyDescriptor getInitializerProperty()
Expression
).public SimpleName getName()
public void setName(SimpleName variableName)
variableName
- the new variable nameIllegalArgumentException
- if:
public int getExtraDimensions()
For example, int x[][]
has a type of
int
and two extra array dimensions;
int[][] x
has a type of int[][]
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()
.
public void setExtraDimensions(int dimensions)
extraDimensions()
which contains a list of Dimension
nodes.
For example, int x[][]
has a type of
int
and two extra array dimensions;
int[][] x
has a type of int[][]
and zero extra array dimensions. The two constructs have different
ASTs, even though there are really syntactic variants of the same
variable declaration.
dimensions
- the number of array dimensionsIllegalArgumentException
- if the number of dimensions is
negativeUnsupportedOperationException
- if this operation is used in
a JLS8 or later ASTpublic List extraDimensions()
Dimension
)UnsupportedOperationException
- if this operation is used below JLS8public Expression getInitializer()
null
if there is none.null
if
there is nonepublic void setInitializer(Expression initializer)
initializer
- the initializer expression node, or null
if there is noneIllegalArgumentException
- if:
public IVariableBinding 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.