Class LabeledStatement


public class LabeledStatement extends Statement
Labeled statement AST node type.
 LabeledStatement:
    Identifier : Statement
 
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
    • getLabel

      public SimpleName getLabel()
      Returns the label of this labeled statement.
      Returns:
      the variable name node
    • setLabel

      public void setLabel(SimpleName label)
      Sets the label of this labeled statement.
      Parameters:
      label - the new label
      Throws:
      IllegalArgumentException - if:
      • the node belongs to a different AST
      • the node already has a parent
    • getBody

      public Statement getBody()
      Returns the body of this labeled statement.
      Returns:
      the body statement node
    • setBody

      public void setBody(Statement statement)
      Sets the body of this labeled statement.

      Special note: The Java language does not allow a local variable declaration to appear as the body of a labeled statement (they may only appear within a block). However, the AST will allow a VariableDeclarationStatement as the body of a LabeledStatement. To get something that will compile, be sure to embed the VariableDeclarationStatement inside a Block.

      Parameters:
      statement - the body statement node
      Throws:
      IllegalArgumentException - if:
      • the node belongs to a different AST
      • the node already has a parent
      • a cycle in would be created