harpoon.IR.LowQuad
Class PFCONST

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

public class PFCONST
extends PCONST

PFCONST computes the POINTER constant needed to access a given static field. PFIELD and PFOFFSET must be used together to access a non-static field.

Version:
$Id: PFCONST.java,v 1.5 2002/04/11 04:00:21 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
See Also:
Serialized Form

Field Summary
protected  HField field
          The HField to address.
 
Fields inherited from class harpoon.IR.LowQuad.PCONST
dst
 
Fields inherited from class harpoon.IR.Quads.Quad
arrayFactory
 
Constructor Summary
PFCONST(LowQuadFactory qf, HCodeElement source, Temp dst, HField field)
          Creates a PFCONST representing the POINTER constant needed to access a given static field.
 
Method Summary
 HField field()
          Returns the field whose POINTER constant is computed.
 int kind()
          Return an integer enumeration of the kind of this Quad.
 Quad rename(QuadFactory qf, TempMap defMap, TempMap useMap)
          Create a new Quad identical to the receiver, but with all Temps renamed according to a mapping.
 String toString()
          Force everyone to reimplement toString()
 
Methods inherited from class harpoon.IR.LowQuad.PCONST
def, dst
 
Methods inherited from class harpoon.IR.LowQuad.LowQuad
accept, accept
 
Methods inherited from class harpoon.IR.Quads.Quad
addEdge, addEdges, addHandlers, clone, clone, clone, compareTo, 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
 

Field Detail

field

protected final HField field
The HField to address.

Constructor Detail

PFCONST

public PFCONST(LowQuadFactory qf,
               HCodeElement source,
               Temp dst,
               HField field)
Creates a PFCONST representing the POINTER constant needed to access a given static field.

Parameters:
dst - the Temp in which to store the computed POINTER constant.
field - the HField whose POINTER constant to compute.
Method Detail

field

public HField field()
Returns the field whose POINTER constant is computed.


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 qf,
                   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

toString

public String toString()
Description copied from class: Quad
Force everyone to reimplement toString()

Specified by:
toString in class Quad