|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectharpoon.IR.Tree.Tree
harpoon.IR.Tree.Exp
harpoon.IR.Tree.CONST
public class CONST
CONST objects are expressions which stand for a constant
value. CONSTs should be used to represent numeric types
only. The one notable exception is the constant null,
which is represented by a CONST with value == null
and type == POINTER.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class harpoon.IR.Tree.Tree |
|---|
Tree.CloneCallback |
| Field Summary | |
|---|---|
boolean |
isSmall
|
int |
type
The type of this CONST expression. |
Number |
value
The constant value of this CONST expression. |
| Fields inherited from class harpoon.IR.Tree.Tree |
|---|
arrayFactory, child |
| Fields inherited from interface harpoon.IR.Tree.Typed |
|---|
DOUBLE, FLOAT, INT, LONG, POINTER |
| Constructor Summary | |
|---|---|
CONST(TreeFactory tf,
HCodeElement source)
Creates a CONST representing the constant
null. |
|
CONST(TreeFactory tf,
HCodeElement source,
double dval)
|
|
CONST(TreeFactory tf,
HCodeElement source,
float fval)
|
|
CONST(TreeFactory tf,
HCodeElement source,
int ival)
|
|
CONST(TreeFactory tf,
HCodeElement source,
int bitwidth,
boolean signed,
int val)
Creates a CONST with a precisely defined type. |
|
CONST(TreeFactory tf,
HCodeElement source,
long lval)
|
|
| Method Summary | |
|---|---|
void |
accept(TreeVisitor v)
Accept a visitor |
int |
bitwidth()
Returns the size of the expression, in bits. |
Exp |
build(TreeFactory tf,
ExpList kids)
|
boolean |
isSmall()
Returns true if this is a sub-integer expression. |
int |
kind()
Return an integer enumeration of the kind of this Tree. |
Tree |
rename(TreeFactory tf,
TempMap tm,
Tree.CloneCallback cb)
Rename while cloning a subtree. |
boolean |
signed()
Returns true if this is a signed expression, false otherwise. |
String |
toString()
|
int |
type()
Result type. |
Number |
value()
Return the constant value of this CONST expression. |
| Methods inherited from class harpoon.IR.Tree.Exp |
|---|
build, isDoubleWord, isFloatingPoint |
| Methods inherited from class harpoon.IR.Tree.Tree |
|---|
clone, clone, getChild, getFactory, getFirstChild, getID, getLineNumber, getParent, getSibling, getSourceFile, hashCode, kids, rename, replace, setChild, unlink |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface harpoon.IR.Tree.Typed |
|---|
isDoubleWord, isFloatingPoint |
| Methods inherited from interface harpoon.ClassFile.HDataElement |
|---|
getID, getSourceFile |
| Field Detail |
|---|
public final Number value
CONST expression.
public final int type
CONST expression.
public final boolean isSmall
| Constructor Detail |
|---|
public CONST(TreeFactory tf,
HCodeElement source,
int ival)
public CONST(TreeFactory tf,
HCodeElement source,
long lval)
public CONST(TreeFactory tf,
HCodeElement source,
float fval)
public CONST(TreeFactory tf,
HCodeElement source,
double dval)
public CONST(TreeFactory tf,
HCodeElement source)
CONST representing the constant
null.
public CONST(TreeFactory tf,
HCodeElement source,
int bitwidth,
boolean signed,
int val)
CONST(tf, src, 8, true, 0xFF) corresponds
to the value -1, as a byte.
CONST(tf, src, 8, true, -1) also corresponds
to the value -1 as a byte.
bitwidth - the width in bits of this CONST's type.
Fails unless 0 <= bitwidth < 32.signed - whether this CONST is signedval - the value of this CONST.
Note that only the lower bitwidth bits
of this parameter will actually be used.| Method Detail |
|---|
public Number value()
CONST expression.
public int kind()
TreeTree. The enumerated values are defined in
TreeKind.
kind in class Tree
public Exp build(TreeFactory tf,
ExpList kids)
build in class Exppublic int type()
Exp
type in interface Typedtype in class Exppublic boolean isSmall()
isSmall in interface PreciselyTypedpublic int bitwidth()
isSmall()==true.
bitwidth in interface PreciselyTypedpublic boolean signed()
isSmall()==true.
signed in interface PreciselyTypedpublic void accept(TreeVisitor v)
accept in class Tree
public Tree rename(TreeFactory tf,
TempMap tm,
Tree.CloneCallback cb)
TreeTEMP nodes
are renamed according to the supplied TempMap.
Note that Temps not belonging to
this.getFactory().tempFactory() are not affected.
The callback() method of the supplied
CloneCallback is invoked once on each subtree cloned,
starting from the leaves and working back to the root in a
post-order depth-first manner.
rename in class Treepublic String toString()
toString in class Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||