Package 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

All Implemented Interfaces:
  `NodeMetaDataHandler`

    public class BlockStatement
    extends Statement

A list of statements and a scope.

- ## Constructor Summary

  Constructors
  Constructor | 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

  Modifier and Type | Method | 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

  `addStatementLabel, copyStatementLabels, getStatementLabel, getStatementLabels, setStatementLabel`

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

  `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition`

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

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

  ### Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler

  `copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData`

- ## Constructor Details

  - ### 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 Details

  - ### 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()