harpoon.IR.LowQuad
Class PMETHOD
java.lang.Object
harpoon.IR.Quads.Quad
harpoon.IR.LowQuad.LowQuad
harpoon.IR.LowQuad.PPTR
harpoon.IR.LowQuad.PMETHOD
- All Implemented Interfaces:
- HCodeElement, CFGraphable<Quad,Edge>, UseDefable, Graph.Node<Quad,Edge>, Serializable, Cloneable, Comparable<Quad>
public class PMETHOD
- extends PPTR
PMETHOD converts an object reference into a
POINTER value that can be used to invoke
object methods. Only necessary for virtual methods.
Non-virtual methods can be invoked via the POINTER
obtained by PMCONST.
NOTE THAT constructors and invocations using the super
keyword are non-virtual. See the harpoon.IR.Quads.CALL.
- Version:
- $Id: PMETHOD.java,v 1.3 2002/04/11 04:00:21 cananian Exp $
- Author:
- C. Scott Ananian <cananian@alumni.princeton.edu>
- See Also:
- Serialized Form
| 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 |
PMETHOD
public PMETHOD(LowQuadFactory qf,
HCodeElement source,
Temp dst,
Temp objectref)
- Creates a
PMETHOD representing a conversion from
an object reference into a POINTER that
can be used to invoke virtual methods.
- Parameters:
dst - the Temp in which to store the computed
POINTER.objectref - the Temp holding the reference for the
object whose virtual methods we would like to invoke.
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