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.

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

Note: This type of node is a convenience of sorts. An equivalent way to represent the same statement is to use a VariableDeclarationExpression wrapped in an ExpressionStatement.

Since:
2.0
Restriction:
This class is not intended to be instantiated by clients.
  • Field Details

  • Method Details

    • 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.1
    • 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:
    • setModifiers

      public void setModifiers(int modifiers)
      Deprecated.
      In the JLS3 API, this method is replaced by modifiers() which contains a list of a Modifier nodes.
      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:
    • 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 VariableDeclarationFragments; 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)