org.codehaus.groovy.ast.stmt

## Class BlockStatement

- java.lang.Object
- - org.codehaus.groovy.ast.ASTNode
  - - org.codehaus.groovy.ast.stmt.Statement
    - - org.codehaus.groovy.ast.stmt.BlockStatement

-     public class BlockStatement
      extends Statement

  A list of statements and a scope.
  Version:
    $Revision$
  Author:
    James Strachan

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BlockStatement()`
    `BlockStatement(List<Statement> statements, VariableScope scope)` Creates a BlockStatement with a scope and children statements.
    `BlockStatement(Statement[] statements, VariableScope scope)` Creates a BlockStatement with a scope and children statements.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addStatement(Statement statement)`
    `void` | `addStatements(List<Statement> listOfStatements)`
    `List<Statement>` | `getStatements()`
    `String` | `getText()`
    `VariableScope` | `getVariableScope()`
    `boolean` | `isEmpty()`
    `void` | `setVariableScope(VariableScope scope)`
    `String` | `toString()`
    `void` | `visit(GroovyCodeVisitor visitor)`

    - ### Methods inherited from class org.codehaus.groovy.ast.stmt.Statement

      `getStatementLabel, setStatementLabel`

    - ### Methods inherited from class org.codehaus.groovy.ast.ASTNode

      `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### BlockStatement

          public BlockStatement()

    - #### BlockStatement

          public BlockStatement(List<Statement> statements,
                        VariableScope scope)

      Creates a BlockStatement with a scope and children statements.
      Parameters:
        `statements` - the statements. Do not pass null. If you do, no exception will occur, but a NullPointerException will eventually occur later. Also, a reference to the list is kept, so modifying the List later does effect this class.
        `scope` - the scope

    - #### BlockStatement

          public BlockStatement(Statement[] statements,
                        VariableScope scope)

      Creates a BlockStatement with a scope and children statements.
      Parameters:
        `statements` - the statements, which cannot be null or an exception occurs. No reference to the array is held, so modifying the array later has no effect on this class.
        `scope` - the scope

  - ### Method Detail

    - #### visit

          public void visit(GroovyCodeVisitor visitor)

      Overrides:
        `visit` in class `ASTNode`

    - #### getStatements

          public List<Statement> getStatements()

    - #### addStatement

          public void addStatement(Statement statement)

    - #### addStatements

          public void addStatements(List<Statement> listOfStatements)

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### getText

          public String getText()

      Overrides:
        `getText` in class `ASTNode`

    - #### isEmpty

          public boolean isEmpty()

      Overrides:
        `isEmpty` in class `Statement`

    - #### setVariableScope

          public void setVariableScope(VariableScope scope)

    - #### getVariableScope

          public VariableScope getVariableScope()