harpoon.IR.Quads
Class QuadNoSSA

java.lang.Object
  extended by harpoon.ClassFile.HCode<Quad>
      extended by harpoon.IR.Quads.Code
          extended by harpoon.IR.Quads.QuadNoSSA
All Implemented Interfaces:
Graph<Quad,Edge>, Serializable
Direct Known Subclasses:
ContCodeNoSSA

public class QuadNoSSA
extends Code

QuadNoSSA is a code view with explicit exception handling. It does not have HANDLER quads, and is not in SSA form.

Version:
$Id: QuadNoSSA.java,v 1.4 2005/08/09 20:19:17 salcianu Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
See Also:
QuadWithTry, QuadSSI, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class harpoon.ClassFile.HCode
HCode.PrintCallback<HCE extends HCodeElement>
 
Nested classes/interfaces inherited from interface harpoon.Util.Collections.Graph
Graph.Edge<N extends Graph.Node<N,E>,E extends Graph.Edge<N,E>>, Graph.Node<N extends Graph.Node<N,E>,E extends Graph.Edge<N,E>>
 
Field Summary
static String codename
          The name of this code view.
 TypeMap typeMap
          Type information for this code view.
 
Fields inherited from class harpoon.IR.Quads.Code
ai, parent, qf, quads
 
Constructor Summary
protected QuadNoSSA(HMethod parent, Quad quads)
           
 
Method Summary
 HCodeAndMaps<Quad> clone(HMethod newMethod)
          Clone this code representation.
static HCodeFactory codeFactory()
          Return a code factory for QuadNoSSA, using the default code factory for QuadWithTry.
static HCodeFactory codeFactory(HCodeFactory hcf)
          Return a code factory for QuadNoSSA, given a code factory for QuadWithTry or QuadSSI.
static HCodeFactory codeFactoryWithTypes(HCodeFactory hcf)
          Return a code factory for QuadNoSSA, given a code factory for QuadSSI.
 String getName()
          Return the name of this code view.
 
Methods inherited from class harpoon.IR.Quads.Code
cloneHelper, cloneHelper, elementArrayFactory, getAllocationInformation, getDerivation, getElements, getElementsI, getLeafElements, getMethod, getRootElement, newQF, nodes, notifyReplace, print, selectAllocations, selectCALLs, selectQuads, setAllocationInformation
 
Methods inherited from class harpoon.ClassFile.HCode
clone, elementIndexer, getElementsL, print, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

codename

public static final String codename
The name of this code view.

See Also:
Constant Field Values

typeMap

public final TypeMap typeMap
Type information for this code view. Only non-null if you pass a non-null TypeMap to the constructor (or use the codeFactoryWithTypes to generate your QuadNoSSAs).

Constructor Detail

QuadNoSSA

protected QuadNoSSA(HMethod parent,
                    Quad quads)
Method Detail

clone

public HCodeAndMaps<Quad> clone(HMethod newMethod)
Clone this code representation. The clone has its own copy of the quad graph.

Specified by:
clone in class Code

getName

public String getName()
Return the name of this code view.

Specified by:
getName in class Code
Returns:
the string "quad-no-ssa".

codeFactory

public static HCodeFactory codeFactory(HCodeFactory hcf)
Return a code factory for QuadNoSSA, given a code factory for QuadWithTry or QuadSSI. Given a code factory for Bytecode, chain through QuadWithTry.codeFactory().


codeFactoryWithTypes

public static HCodeFactory codeFactoryWithTypes(HCodeFactory hcf)
Return a code factory for QuadNoSSA, given a code factory for QuadSSI. The QuadNoSSAs generated by the code factory will have valid typeMap fields, courtesy of TypeInfo.


codeFactory

public static HCodeFactory codeFactory()
Return a code factory for QuadNoSSA, using the default code factory for QuadWithTry.