Package org.codehaus.janino

# Interface Java.BlockStatement

All Superinterfaces:
  `Java.Locatable`, `Java.Scope`

All Known Subinterfaces:
  `Java.FieldDeclarationOrInitializer`

All Known Implementing Classes:
  `Java.AlternateConstructorInvocation`, `Java.AssertStatement`, `Java.Block`, `Java.BreakableStatement`, `Java.BreakStatement`, `Java.ConstructorInvocation`, `Java.ContinuableStatement`, `Java.ContinueStatement`, `Java.DoStatement`, `Java.EmptyStatement`, `Java.ExpressionStatement`, `Java.FieldDeclaration`, `Java.ForEachStatement`, `Java.ForStatement`, `Java.IfStatement`, `Java.Initializer`, `Java.LabeledStatement`, `Java.LocalClassDeclarationStatement`, `Java.LocalVariableDeclarationStatement`, `Java.ReturnStatement`, `Java.Statement`, `Java.SuperConstructorInvocation`, `Java.SwitchStatement`, `Java.SynchronizedStatement`, `Java.ThrowStatement`, `Java.TryStatement`, `Java.WhileStatement`

Enclosing class:
  `Java`

public static interface Java.BlockStatement extends Java.Locatable, Java.Scope
Everything that can be compiled to code, e.g. the statements occurring in the body of a method or in a block, explicit constructor invocations and instance/static initializers.

## Method Summary

Modifier and Type
Method
Description
`<R, EX extends Throwable>
R`
`accept(Visitor.BlockStatementVisitor<R,EX> visitor)`
Invokes the "`visit...()`" method of `Visitor.BlockStatementVisitor` for the concrete `Java.BlockStatement` type.
`Java.LocalVariable`
`findLocalVariable(String name)`
`Java.Scope`
`getEnclosingScope()`
`void`
`setEnclosingScope(Java.Scope enclosingScope)`
Sets the enclosing scope of this `Java.BlockStatement`.

### Methods inherited from interface org.codehaus.janino.Java.Locatable

`getLocation, throwCompileException`

## Method Details

### setEnclosingScope

void setEnclosingScope(Java.Scope enclosingScope)
Sets the enclosing scope of this `Java.BlockStatement`.

### getEnclosingScope

Java.Scope getEnclosingScope()

Specified by:
  `getEnclosingScope` in interface `Java.Scope`
Returns:
  The scope that encloses this scope, or `null`

### accept

@Nullable <R, EX extends Throwable> R accept(Visitor.BlockStatementVisitor<R,EX> visitor) throws EX
Invokes the "`visit...()`" method of `Visitor.BlockStatementVisitor` for the concrete `Java.BlockStatement` type.

Throws:
  `EX`

### findLocalVariable

@Nullable Java.LocalVariable findLocalVariable(String name)

Returns:
  The local variable with the given name