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, newMetaDataMap, putNodeMetaData, removeNodeMetaData, setNodeMetaData`

- ## Constructor Details

  - ### BlockStatement

    public BlockStatement()

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

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

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

  - ### getText

    public String getText()
    Overrides:
      `getText` in class `ASTNode`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### isEmpty

    public boolean isEmpty()
    Overrides:
      `isEmpty` in class `Statement`

  - ### getVariableScope

    public VariableScope getVariableScope()

  - ### setVariableScope

    public void setVariableScope(VariableScope scope)