|
|||||||||
| 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 CFG| Method 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 | ||||||||