|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.IR.Quads.Quad
harpoon.IR.LowQuad.LowQuad
harpoon.IR.LowQuad.PGET
public class PGET
PGET
represents a POINTER
dereference to
get a field or array element. The ptr
Temp
ought to contain a POINTER
value.
Field Summary | |
---|---|
protected Temp |
dst
Temp in which to store the fetched field or array
element. |
protected Temp |
ptr
Temp holding the POINTER value to
dereference and fetch. |
protected HClass |
type
The type of the object we are fetching. |
Fields inherited from class harpoon.IR.Quads.Quad |
---|
arrayFactory |
Constructor Summary | |
---|---|
PGET(LowQuadFactory qf,
HCodeElement source,
Temp dst,
Temp ptr,
HClass type)
Creates a PGET representing a pointer dereference and
fetch. |
Method Summary | |
---|---|
Temp[] |
def()
Return all the Temps defined by this Quad. |
Temp |
dst()
Returns the Temp in which to store the fetched field or
array element. |
int |
kind()
Return an integer enumeration of the kind of this Quad . |
Temp |
ptr()
Returns the Temp holding the POINTER value
to dereference and fetch. |
Quad |
rename(QuadFactory qf,
TempMap defMap,
TempMap useMap)
Create a new Quad identical to the receiver, but
with all Temp s renamed according to a mapping. |
String |
toString()
Force everyone to reimplement toString() |
HClass |
type()
Returns the type of the field or array element we are fetching. |
Temp[] |
use()
Return all the Temps used by this Quad. |
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, useC |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final Temp dst
Temp
in which to store the fetched field or array
element.
protected final Temp ptr
Temp
holding the POINTER
value to
dereference and fetch.
protected final HClass type
dst
. For non-primitive types, this may be
simply Object
; use a typemap and the dst
field if you need accurate non-primitive types.
Constructor Detail |
---|
public PGET(LowQuadFactory qf, HCodeElement source, Temp dst, Temp ptr, HClass type)
PGET
representing a pointer dereference and
fetch.
dst
- the Temp
in which to store the fetched field or
element.ptr
- the Temp
holding the POINTER
value
to dereference.type
- the type of the object we are fetching; possibly a sub-integer
type. Not necessarily precise if non-primitive.Method Detail |
---|
public Temp dst()
Temp
in which to store the fetched field or
array element.
public Temp ptr()
Temp
holding the POINTER
value
to dereference and fetch.
public HClass type()
public int kind()
Quad
Quad
. The enumerated values are defined in
QuadKind
.
kind
in class Quad
public Temp[] use()
Quad
use
in interface UseDefable
use
in class Quad
public Temp[] def()
Quad
def
in interface UseDefable
def
in class Quad
public Quad rename(QuadFactory qf, TempMap defMap, TempMap useMap)
Quad
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
.
rename
in class Quad
public String toString()
Quad
toString
in class Quad
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |