org.aspectj.org.eclipse.jdt.core.dom
Class VariableDeclaration

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.core.dom.ASTNode
      extended by org.aspectj.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.aspectj.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, 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
 
Method Summary
 java.util.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.
 
Methods inherited from class org.aspectj.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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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, use getExtraDimensions2Property() 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:
java.lang.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 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().

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 by extraDimensions() which contains a list of Dimension nodes.

Sets the number of extra array dimensions over and above the explicitly-specified type.

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.

Parameters:
dimensions - the number of array dimensions
Throws:
java.lang.IllegalArgumentException - if the number of dimensions is negative
java.lang.UnsupportedOperationException - if this operation is used in a JLS8 or later AST
Since:
2.1

extraDimensions

public java.util.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:
java.lang.UnsupportedOperationException - if this operation is used below JLS8
Since:
3.10

getInitializer

public Expression getInitializer()
Returns the initializer of this variable declaration, or null 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, or null if there is none
Throws:
java.lang.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