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