|
|||||||||
| 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 Temps 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 UseDefabledef in class Quaddst field.public int kind()
QuadQuad. The enumerated values are defined in
QuadKind.
kind in class Quad
public Quad rename(QuadFactory qqf,
TempMap defMap,
TempMap useMap)
QuadQuad 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.
rename in class Quadpublic void accept(QuadVisitor v)
Quad
accept in class Quadpublic <T> T accept(QuadValueVisitor<T> v)
accept in class Quadpublic String toString()
toString in class Quad
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||