public abstract class VariableDeclaration extends ASTNode
VariableDeclaration: SingleVariableDeclaration VariableDeclarationFragment
SingleVariableDeclaration
,
Provisional API: This class/interface is part of an interim API that is still under development and expected to
change significantly before reaching stability. It is being made available at this early stage to solicit feedback
from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
(repeatedly) as the API evolves.
ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_NAME, ARRAY_TYPE, ARROW_FUNCTION_EXPRESSION, ASSIGNMENT, ASSIGNMENT_NAME, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DEBUGGER_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPORT_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_OF_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_DECLARATION_STATEMENT, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, META_PROPERTY, MODIFIER, MODULE_SPECIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OBJECT_NAME, ORIGINAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, REST_ELEMENT_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, SPREAD_ELEMENT, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEMPLATE_ELEMENT, TEMPLATE_LITERAL, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_EXPRESSION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WITH_STATEMENT, YIELD_EXPRESSION
Modifier and Type | Method and Description |
---|---|
abstract int |
getExtraDimensions()
Returns the number of extra array dimensions over and above the
explicitly-specified type.
|
SimplePropertyDescriptor |
getExtraDimensionsProperty()
Returns structural property descriptor for the "extraDimensions" property
of this node.
|
abstract 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.
|
abstract SimpleName |
getName()
Returns the name of the variable declared in this variable declaration.
|
ChildPropertyDescriptor |
getNameProperty()
Returns structural property descriptor for the "name" property
of this node.
|
IVariableBinding |
resolveBinding()
Resolves and returns the binding for the variable declared in this
variable declaration.
|
abstract void |
setExtraDimensions(int dimensions)
Sets the number of extra array dimensions over and above the
explicitly-specified type.
|
abstract void |
setInitializer(Expression initializer)
Sets or clears the initializer of this variable declaration.
|
abstract 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, getBodyChild, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
public final SimplePropertyDescriptor getExtraDimensionsProperty()
public final ChildPropertyDescriptor getInitializerProperty()
public final ChildPropertyDescriptor getNameProperty()
public abstract SimpleName getName()
public abstract void setName(SimpleName variableName)
variableName
- the new variable namejava.lang.IllegalArgumentException
- if:
public abstract 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.
public abstract void setExtraDimensions(int dimensions)
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 dimensionsjava.lang.IllegalArgumentException
- if the number of dimensions is
negativepublic abstract Expression getInitializer()
null
if there is none.null
if
there is nonepublic abstract void setInitializer(Expression initializer)
initializer
- the initializer expression node, or null
if there is nonejava.lang.IllegalArgumentException
- if:
public IVariableBinding resolveBinding()
Note that bindings are generally unavailable unless requested when the AST is being built.
null
if the binding cannot be
resolvedCopyright (c) IBM Corp. and others 2000, 2010. All Rights Reserved.