Class BetterCFGBuilder2.Context

java.lang.Object
edu.umd.cs.findbugs.ba.BetterCFGBuilder2.Context
Enclosing class:
BetterCFGBuilder2

private static class BetterCFGBuilder2.Context extends Object
Inlining context. This essentially consists of a inlining site and a subroutine to be inlined. A stack of calling contexts is maintained in order to resolve EscapeTargets.
  • Field Details

  • Constructor Details

  • Method Details

    • getCaller

      public BetterCFGBuilder2.Context getCaller()
      Get the calling context.
    • getSubroutine

      public BetterCFGBuilder2.Subroutine getSubroutine()
      Get the subroutine being inlined.
    • getResult

      public CFG getResult()
      Get the result CFG.
    • hasMoreWork

      public boolean hasMoreWork()
      Are there more work list items?
    • nextItem

      public BasicBlock nextItem()
      Get the next work list item (basic block to be inlined).
    • mapBlock

      public void mapBlock(BasicBlock subBlock, BasicBlock resultBlock)
      Map a basic block in a subroutine to the corresponding block in the resulting CFG.
      Parameters:
      subBlock - the subroutine block
      resultBlock - the result CFG block
    • getBlock

      public BasicBlock getBlock(BasicBlock subBlock)
      Get the block in the result CFG corresponding to the given subroutine block.
      Parameters:
      subBlock - the subroutine block
      Returns:
      the result CFG block
    • checkForRecursion

      public void checkForRecursion() throws CFGBuilderException
      Check to ensure that this context is not the result of recursion.
      Throws:
      CFGBuilderException