Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.jdt.core.dom
Class VariableDeclarationStatement

    java.lang.Object
      org.eclipse.jdt.core.dom.ASTNode
          org.eclipse.jdt.core.dom.Statement
              org.eclipse.jdt.core.dom.VariableDeclarationStatement

public class VariableDeclarationStatement
extends Statement

Local variable declaration statement AST node type.

This kind of node collects several variable declaration fragments (`VariableDeclarationFragment`) into a statement (`Statement`), all sharing the same modifiers and base type.

For JLS2:

     VariableDeclarationStatement:
        { Modifier } Type VariableDeclarationFragment
            { , VariableDeclarationFragment } ;

For JLS3, the modifier flags were replaced by a list of modifier nodes (intermixed with annotations):

     VariableDeclarationStatement:
        { ExtendedModifier } Type VariableDeclarationFragment
            { , VariableDeclarationFragment } ;

Since:
  2.0

Field Summary
`static ChildListPropertyDescriptor` | `FRAGMENTS_PROPERTY` The "fragments" structural property of this node type).
`static SimplePropertyDescriptor` | `MODIFIERS_PROPERTY` The "modifiers" structural property of this node type (JLS2 API only).
`static ChildListPropertyDescriptor` | `MODIFIERS2_PROPERTY` The "modifiers" structural property of this node type (added in JLS3 API).
`static ChildPropertyDescriptor` | `TYPE_PROPERTY` The "type" structural property of this node type.

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, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVADOC, LABELED_STATEMENT, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_PARAMETER, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE`

Method Summary
`List` | `fragments()` Returns the live list of variable declaration fragments in this statement.
`int` | `getModifiers()` Returns the modifiers explicitly specified on this declaration.
`Type` | `getType()` Returns the base type declared in this variable declaration statement.
`List` | `modifiers()` Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API).
`static List` | `propertyDescriptors(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` | `setModifiers(int modifiers)` Sets the modifiers explicitly specified on this declaration (JLS2 API only).
`void` | `setType(Type type)` Sets the base type declared in this variable declaration statement to the given type.

Methods inherited from class org.eclipse.jdt.core.dom.Statement
`getLeadingComment, setLeadingComment`

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, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### MODIFIERS_PROPERTY

    public static final SimplePropertyDescriptor MODIFIERS_PROPERTY

  The "modifiers" structural property of this node type (JLS2 API only).

  Since:
    3.0

### MODIFIERS2_PROPERTY

    public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY

  The "modifiers" structural property of this node type (added in JLS3 API).

  Since:
    3.0

### TYPE_PROPERTY

    public static final ChildPropertyDescriptor TYPE_PROPERTY

  The "type" structural property of this node type.

  Since:
    3.0

### FRAGMENTS_PROPERTY

    public static final ChildListPropertyDescriptor FRAGMENTS_PROPERTY

  The "fragments" structural property of this node type).

  Since:
    3.0

Method Detail

### propertyDescriptors

    public static List propertyDescriptors(int apiLevel)

  Returns a list of structural property descriptors for this node type. Clients must not modify the result.

  Parameters:
    `apiLevel` - the API level; one of the `AST.JLS*` constants
  Returns:
    a list of property descriptors (element type: `StructuralPropertyDescriptor`)
  Since:
    3.0

### modifiers

    public List modifiers()

  Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API).

  Note that the final modifier is the only meaningful modifier for local variable declarations.

  Returns:
    the live list of modifiers and annotations (element type: `IExtendedModifier`)
  Throws:
    `UnsupportedOperationException` - if this operation is used in a JLS2 AST
  Since:
    3.0

### 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:
    `Modifier`

### setModifiers

    public void setModifiers(int modifiers)

  Sets the modifiers explicitly specified on this declaration (JLS2 API only).

  Note that the final modifier is the only meaningful modifier for local variable declarations.

  Parameters:
    `modifiers` - the given modifiers (bit-wise or of `Modifier` constants)
  Throws:
    `UnsupportedOperationException` - if this operation is used in an AST later than JLS2
  See Also:
    `Modifier`

### getType

    public Type getType()

  Returns the base type declared in this variable declaration statement.

  N.B. The individual child variable declaration fragments may specify additional array dimensions. So the type of the variable are not necessarily exactly this type.

  Returns:
    the base type

### setType

    public void setType(Type type)

  Sets the base type declared in this variable declaration statement to the given type.

  Parameters:
    `type` - the new base type
  Throws:
    `IllegalArgumentException` - if:
    - the node belongs to a different AST
    - the node already has a parent

### fragments

    public List fragments()

  Returns the live list of variable declaration fragments in this statement. Adding and removing nodes from this list affects this node dynamically. All nodes in this list must be `VariableDeclarationFragment`s; attempts to add any other type of node will trigger an exception.

  Returns:
    the live list of variable declaration fragments in this statement (element type: `VariableDeclarationFragment`)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.