|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umd.cs.findbugs.ba.BetterCFGBuilder2.Context
private static class BetterCFGBuilder2.Context
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 Summary | |
---|---|
private java.util.IdentityHashMap<BasicBlock,BasicBlock> |
blockMap
|
private BetterCFGBuilder2.Context |
caller
|
private CFG |
result
|
private BetterCFGBuilder2.Subroutine |
subroutine
|
private java.util.LinkedList<BasicBlock> |
workList
|
Constructor Summary | |
---|---|
BetterCFGBuilder2.Context(BetterCFGBuilder2.Context caller,
BetterCFGBuilder2.Subroutine subroutine,
CFG result)
Constructor. |
Method Summary | |
---|---|
void |
addItem(BasicBlock item)
Add a basic block to the inlining work list. |
void |
checkForRecursion()
Check to ensure that this context is not the result of recursion. |
BasicBlock |
getBlock(BasicBlock subBlock)
Get the block in the result CFG corresponding to the given subroutine block. |
BetterCFGBuilder2.Context |
getCaller()
Get the calling context. |
CFG |
getResult()
Get the result CFG. |
BetterCFGBuilder2.Subroutine |
getSubroutine()
Get the subroutine being inlined. |
boolean |
hasMoreWork()
Are there more work list items? |
void |
mapBlock(BasicBlock subBlock,
BasicBlock resultBlock)
Map a basic block in a subroutine to the corresponding block in the resulting CFG. |
BasicBlock |
nextItem()
Get the next work list item (basic block to be inlined). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final BetterCFGBuilder2.Context caller
private final BetterCFGBuilder2.Subroutine subroutine
private final CFG result
private final java.util.IdentityHashMap<BasicBlock,BasicBlock> blockMap
private final java.util.LinkedList<BasicBlock> workList
Constructor Detail |
---|
public BetterCFGBuilder2.Context(BetterCFGBuilder2.Context caller, BetterCFGBuilder2.Subroutine subroutine, CFG result)
caller
- the calling contextsubroutine
- the subroutine being inlinedresult
- the result CFGMethod Detail |
---|
public BetterCFGBuilder2.Context getCaller()
public BetterCFGBuilder2.Subroutine getSubroutine()
public CFG getResult()
public void addItem(BasicBlock item)
public boolean hasMoreWork()
public BasicBlock nextItem()
public void mapBlock(BasicBlock subBlock, BasicBlock resultBlock)
subBlock
- the subroutine blockresultBlock
- the result CFG blockpublic BasicBlock getBlock(BasicBlock subBlock)
subBlock
- the subroutine block
public void checkForRecursion() throws CFGBuilderException
CFGBuilderException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |