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: 21289 $
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
`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, 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()