|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.IR.Quads.Quad
harpoon.IR.Quads.CONST
public class CONST
CONST
objects represent an assignment of a constant value
to a compiler temporary.
The type
field of a CONST
must be one of:
Class
, Field
, Method
,
String
, int
, long
,
float
, double
or void
.
A void
type corresponds to a null
literal
constant, and in this case the value
field will be
null
. For class, field, and method constants, the
value
field will contain an instance of HClass
,
HField
, or HMethod
, respectively.
In all other cases, value
will contain
an object of the specified type; values of primitive types will use
the standard wrapper class. An example may clarify:
new CONST(qf, hce, dst, new Integer(0), HClass.Int);
new CONST(qf, hce, dst, "hello, world",
linker.forName("java.lang.String") );
Class.forName("java.lang.Object")
is represented by new CONST(qf, hce, dst, linker.forName("java.lang.Object"),
linker.forName("java.lang.Class") );
new CONST(qf, hce, dst, null, HClass.Void);
Field Summary | |
---|---|
protected Temp |
dst
The destination Temp . |
protected HClass |
type
The type of the constant value. |
protected Object |
value
An object representing the constant value. |
Fields inherited from class harpoon.IR.Quads.Quad |
---|
arrayFactory |
Constructor Summary | |
---|---|
CONST(QuadFactory qf,
HCodeElement source,
Temp dst,
Object value,
HClass type)
Creates a CONST from a destination temporary, and object
value and its class type. |
Method Summary | ||
---|---|---|
|
accept(QuadValueVisitor<T> v)
|
|
void |
accept(QuadVisitor v)
Accept a visitor. |
|
Temp[] |
def()
Returns the Temp defined by this Quad. |
|
Temp |
dst()
Returns the Temp which will contain the specified
constant value. |
|
int |
kind()
Return an integer enumeration of the kind of this Quad . |
|
Quad |
rename(QuadFactory qqf,
TempMap defMap,
TempMap useMap)
Create a new Quad identical to the receiver, but
with all Temp s renamed according to a mapping. |
|
String |
toString()
Returns a human-readable representation of this Quad. |
|
HClass |
type()
Returns the type of the constant value. |
|
Object |
value()
Returns the object representing the constant value. |
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 |
---|
protected Temp dst
Temp
.
protected final Object value
protected final HClass type
Constructor Detail |
---|
public CONST(QuadFactory qf, HCodeElement source, Temp dst, Object value, HClass type)
CONST
from a destination temporary, and object
value and its class type.
dst
- the Temp
which will contain the specified
constant value.value
- an object representing the constant value.type
- the type of the constant value.Method Detail |
---|
public Temp dst()
Temp
which will contain the specified
constant value.
public Object value()
public HClass type()
public Temp[] def()
def
in interface UseDefable
def
in class Quad
dst
field.public int kind()
Quad
Quad
. The enumerated values are defined in
QuadKind
.
kind
in class Quad
public Quad rename(QuadFactory qqf, 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 void accept(QuadVisitor v)
Quad
accept
in class Quad
public <T> T accept(QuadValueVisitor<T> v)
accept
in class Quad
public String toString()
toString
in class Quad
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |