harpoon.IR.LowQuad
Class PFIELD
java.lang.Object
harpoon.IR.Quads.Quad
harpoon.IR.LowQuad.LowQuad
harpoon.IR.LowQuad.PPTR
harpoon.IR.LowQuad.PFIELD
- All Implemented Interfaces:
- HCodeElement, CFGraphable<Quad,Edge>, UseDefable, Graph.Node<Quad,Edge>, Serializable, Cloneable, Comparable<Quad>
public class PFIELD
- extends PPTR
PFIELD
converts an object reference into a
POINTER
value that can be used to access
non-static object fields. PFCONST
is
used to access static fields.
- Version:
- $Id: PFIELD.java,v 1.3 2002/04/11 04:00:21 cananian Exp $
- Author:
- C. Scott Ananian <cananian@alumni.princeton.edu>
- See Also:
- Serialized Form
Constructor Summary |
PFIELD(LowQuadFactory qf,
HCodeElement source,
Temp dst,
Temp objectref)
Creates a PFIELD representing a conversion
from an object reference into a POINTER that
can be used to reference non-static object fields. |
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, useC |
PFIELD
public PFIELD(LowQuadFactory qf,
HCodeElement source,
Temp dst,
Temp objectref)
- Creates a
PFIELD
representing a conversion
from an object reference into a POINTER
that
can be used to reference non-static object fields.
- Parameters:
dst
- the Temp
in which to store the computed
POINTER
.objectref
- the Temp
holding the reference for the object
whose fields we would like to access.
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 Temp
s 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