net.janino
Class Java.TryStatement

java.lang.Object
  |
  +--net.janino.Java.Statement
        |
        +--net.janino.Java.TryStatement
All Implemented Interfaces:
Java.BlockStatement, Java.Locatable, Java.Scope
Enclosing class:
Java

public static class Java.TryStatement
extends Java.Statement


Fields inherited from class net.janino.Java.Statement
enclosingScope
 
Constructor Summary
Java.TryStatement(Scanner.Location location, Java.Scope enclosingScope)
           
 
Method Summary
 void addCatchClause(Java.CatchClause catchClause)
           
 boolean compile(ClassFile.CodeAttribute codeAttribute)
           
 java.util.Vector getCatchClauses()
           
 Java.Block getFinally()
           
 void leave(ClassFile.CodeAttribute codeAttribute)
          Clean up the statement context.
 void setBody(Java.BlockStatement body)
           
 void setFinally(Java.Block finallY)
           
 
Methods inherited from class net.janino.Java.Statement
getEnclosingScope, getLocation, throwCompileException, throwParseException
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Java.TryStatement

public Java.TryStatement(Scanner.Location location,
                         Java.Scope enclosingScope)
Method Detail

setBody

public void setBody(Java.BlockStatement body)

addCatchClause

public void addCatchClause(Java.CatchClause catchClause)

getCatchClauses

public java.util.Vector getCatchClauses()

setFinally

public void setFinally(Java.Block finallY)

getFinally

public Java.Block getFinally()

compile

public boolean compile(ClassFile.CodeAttribute codeAttribute)
                throws Java.CompileException
Overrides:
compile in class Java.Statement
Following copied from interface: net.janino.Java.BlockStatement
Returns:
false if this statement cannot complete normally (14.20)

leave

public void leave(ClassFile.CodeAttribute codeAttribute)
Description copied from interface: Java.BlockStatement
Clean up the statement context. This is currently relevant for "try ... catch ... finally" statements (execute "finally" clause) and "synchronized" statements (monitorexit).

Statements like "return", "break", "continue" must call this method for all the statements they terminate.

Notice: The code generated by this method must not modify the operand stack, i.e. if the code needs any state information, then that information must be passed to it in unnamed local variables.

Overrides:
leave in class Java.Statement