|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--harpoon.ClassFile.HCode | +--harpoon.IR.Tree.Code | +--harpoon.IR.Tree.TreeCode
Nested Class Summary |
Nested classes inherited from class harpoon.IR.Tree.Code |
Code.TreeFactory |
Nested classes inherited from class harpoon.ClassFile.HCode |
HCode.PrintCallback |
Field Summary | |
static String |
codename
The getName() method return codename ,
which is "tree" for this Code . |
Fields inherited from class harpoon.IR.Tree.Code |
frame, parent, tf, tree |
Constructor Summary | |
protected |
TreeCode(HMethod newMethod,
Tree tree,
Frame topframe,
TreeDerivation treeDerivation)
|
Method Summary | |
HCodeAndMaps |
clone(HMethod newMethod,
Frame frame)
Clone this code representation. |
static HCodeFactory |
codeFactory(Frame frame)
Return a code factory for TreeCode , using the default
code factory for LowQuadSSI |
static HCodeFactory |
codeFactory(HCodeFactory hcf,
Frame frame)
Returns a code factory for TreeCode , given a
code factory for LowQuadNoSSA or LowQuadSSI . |
CFGrapher |
getGrapher()
CFGrapher not valid for non-canonical trees. |
String |
getName()
Return the name of this code view. |
TreeDerivation |
getTreeDerivation()
|
UseDefer |
getUseDefer()
UseDefer not valid for non-canonical trees. |
boolean |
isCanonical()
Returns true if this codeview is a canonical representation |
void |
recomputeEdges()
This operation is not supported in non-canonical tree forms. |
Methods inherited from class harpoon.IR.Tree.Code |
clone, cloneHelper, elementArrayFactory, getElements, getElementsI, getFrame, getLeafElements, getMethod, getRootElement, print, remove |
Methods inherited from class harpoon.ClassFile.HCode |
clone, elementIndexer, getElementsE, getElementsL, print, toString |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final String codename
getName()
method return codename
,
which is "tree" for this Code
.
Constructor Detail |
protected TreeCode(HMethod newMethod, Tree tree, Frame topframe, TreeDerivation treeDerivation)
Method Detail |
public TreeDerivation getTreeDerivation()
getTreeDerivation
in class Code
public HCodeAndMaps clone(HMethod newMethod, Frame frame)
clone
in class Code
public String getName()
getName
in class Code
"tree"
.public boolean isCanonical()
Code
isCanonical
in class Code
public CFGrapher getGrapher()
CFGrapher
not valid for non-canonical trees.
getGrapher
in class Code
public UseDefer getUseDefer()
UseDefer
not valid for non-canonical trees.
getUseDefer
in class Code
public void recomputeEdges()
UnsupportedOperationException
- always.public static HCodeFactory codeFactory(HCodeFactory hcf, Frame frame)
TreeCode
, given a
code factory for LowQuadNoSSA
or LowQuadSSI
.
hcf
is a code factory for
LowQuadNoSSA
or LowQuadSSI
, then
creates and returns a code
factory for TreeCode
. Else passes
hcf
to
LowQuadSSI.codeFactory()
, and reattempts to
create a code factory for TreeCode
from the
code factory returned by LowQuadSSI
.
LowQuadSSI.codeFactory(HCodeFactory)
public static HCodeFactory codeFactory(Frame frame)
TreeCode
, using the default
code factory for LowQuadSSI
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |