|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--at.dms.kjc.CVariableInfo
Information about possible/definitive assignment of a set of variables. For each variable, it is tracked whether the variable may have been initialized, is definitely unassigned, or is definitely assigned.
Constructor Summary | |
CVariableInfo()
Maintain assignment info for a set of variables. |
Method Summary | |
void |
addInfo(int pos,
int info)
Adds assignment info for variable at position pos to
info . |
java.lang.Object |
clone()
Returns a deep clone of this object. |
int |
getInfo(int pos)
Returns assignment info for variable at position pos . |
static int |
initialize()
Returns info bitfield that means "definitely assigned". |
static boolean |
isDefinitelyUnassigned(int info)
Returns whether the info bitfield argument means "not definitely unassigned". |
static boolean |
isInitialized(int info)
Returns whether the info bitfield argument means "definitely assigned". |
static boolean |
isUnreachable(int info)
Returns whether the info bitfield argument means both "definitely assigned" and "definitely unassigned". |
static boolean |
mayBeInitialized(int info)
Returns whether the info bitfield argument means "not definitely unassigned". |
static int |
merge(int one,
int two)
Merge two variable info values. |
void |
setInfo(int pos,
int info)
Sets assignment info for variable at position pos to
info ; any old information about the variables is
overwritten. |
Methods inherited from class java.lang.Object |
|
Constructor Detail |
public CVariableInfo()
Method Detail |
public java.lang.Object clone()
clone
in class java.lang.Object
public int getInfo(int pos)
pos
.public void addInfo(int pos, int info)
pos
to
info
. The new info bits are merged (with the binary-or
operation) with the existing information.public void setInfo(int pos, int info)
pos
to
info
; any old information about the variables is
overwritten.public static final int merge(int one, int two)
one
- The first info bitfield.two
- The second info bitfield.public static final int initialize()
public static final boolean isInitialized(int info)
public static final boolean isDefinitelyUnassigned(int info)
public static final boolean mayBeInitialized(int info)
public static final boolean isUnreachable(int info)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |