harpoon.IR.Quads
Class HEADER

java.lang.Object
  extended by harpoon.IR.Quads.Quad
      extended by harpoon.IR.Quads.HEADER
All Implemented Interfaces:
HCodeElement, CFGraphable<Quad,Edge>, UseDefable, Graph.Node<Quad,Edge>, Serializable, Cloneable, Comparable<Quad>

public class HEADER
extends Quad

HEADER nodes are used to anchor the top end of the quad graph. They do not represent bytecode.

The 0-edge out of the HEADER points to the FOOTER quad for the method. The 1-edge out of the HEADER points to the Quads.METHOD quad at which to begin execution.

Version:
$Id: HEADER.java,v 1.3 2002/04/11 04:00:34 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
See Also:
METHOD, FOOTER, Serialized Form

Field Summary
 
Fields inherited from class harpoon.IR.Quads.Quad
arrayFactory
 
Constructor Summary
HEADER(QuadFactory qf, HCodeElement source)
          Creates a HEADER quad.
 
Method Summary
<T> T
accept(QuadValueVisitor<T> v)
           
 void accept(QuadVisitor v)
          Accept a visitor.
 FOOTER footer()
          Returns the FOOTER corresponding to this HEADER.
 int kind()
          Return an integer enumeration of the kind of this Quad.
 METHOD method()
          Returns the Quads.METHOD following this HEADER.
 Quad rename(QuadFactory qqf, TempMap defMap, TempMap useMap)
          Create a new Quad identical to the receiver, but with all Temps renamed according to a mapping.
 String toString()
          Returns human-readable representation of this Quad.
 
Methods inherited from class harpoon.IR.Quads.Quad
addEdge, addEdges, addHandlers, clone, clone, clone, compareTo, def, defC, edgeC, edges, getFactory, getID, getLineNumber, getSourceFile, handlers, hashCode, isPred, isSucc, map, map, map, next, next, nextEdge, nextEdge, nextLength, pred, predC, prev, prev, prevEdge, prevEdge, prevLength, remove, removeHandlers, rename, replace, succ, succC, toLongString, transferHandlers, use, useC
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HEADER

public HEADER(QuadFactory qf,
              HCodeElement source)
Creates a HEADER quad.

Method Detail

footer

public FOOTER footer()
Returns the FOOTER corresponding to this HEADER.


method

public METHOD method()
Returns the Quads.METHOD following this HEADER.


kind

public int kind()
Description copied from class: Quad
Return an integer enumeration of the kind of this Quad. The enumerated values are defined in QuadKind.

Specified by:
kind in class Quad

rename

public Quad rename(QuadFactory qqf,
                   TempMap defMap,
                   TempMap useMap)
Description copied from class: Quad
Create a new Quad identical to the receiver, but with all Temps renamed according to a mapping. The new Quad will have no edges.

The new Quad will come from the specified QuadFactory.

Specified by:
rename in class Quad

accept

public void accept(QuadVisitor v)
Description copied from class: Quad
Accept a visitor.

Specified by:
accept in class Quad

accept

public <T> T accept(QuadValueVisitor<T> v)
Specified by:
accept in class Quad

toString

public String toString()
Returns human-readable representation of this Quad.

Specified by:
toString in class Quad