Class StatementWithFinallyBlock

All Implemented Interfaces:
TypeConstants, TypeIds
Direct Known Subclasses:
SynchronizedStatement, TryStatement

public abstract class StatementWithFinallyBlock extends Statement
Extra behavior for statements which have a finally block - e.g., try blocks have finally; synchronized statements have hidden finally blocks that call monitorexit etc.
  • Constructor Details

    • StatementWithFinallyBlock

      public StatementWithFinallyBlock()
  • Method Details

    • reenterAllExceptionHandlers

      public static void reenterAllExceptionHandlers(StatementWithFinallyBlock[] statements, int max, CodeStream codeStream)
    • enterAnyExceptionHandler

      public ExceptionLabel enterAnyExceptionHandler(CodeStream codeStream)
    • enterDeclaredExceptionHandlers

      public void enterDeclaredExceptionHandlers(CodeStream codeStream)
    • enterResourceExceptionHandlers

      public void enterResourceExceptionHandlers(CodeStream codeStream)
    • exitAnyExceptionHandler

      public void exitAnyExceptionHandler()
    • exitDeclaredExceptionHandlers

      public void exitDeclaredExceptionHandlers(CodeStream codeStream)
    • generateFinallyBlock

      public abstract boolean generateFinallyBlock(BlockScope currentScope, CodeStream codeStream, int stateIndex)
      Generate the finally block in current context.
      Returns:
      boolean, true if the generated code will complete abruptly.
    • isFinallyBlockEscaping

      public abstract boolean isFinallyBlockEscaping()
    • placeAllAnyExceptionHandler

      public void placeAllAnyExceptionHandler()