|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.joanju.cg.bytecode.Bytecode com.joanju.cg.bytecode.Assignment com.joanju.cg.bytecode.DefInstr
public class DefInstr
Record of some sort of assignment to an l-value.
Also see PopInstr for values that come out of calls. DefInstr records are used:
Field Summary |
---|
Fields inherited from class com.joanju.cg.bytecode.Assignment |
---|
userScriptSourceAddress |
Fields inherited from class com.joanju.cg.bytecode.Bytecode |
---|
address, cuid, instrSet, nodeNum, xrefs |
Constructor Summary | |
---|---|
DefInstr()
|
|
DefInstr(int cuid,
int address)
|
Method Summary | |
---|---|
void |
calcValueSets()
Calculate the value sets for the instruction. |
int |
getLVal()
Get the address of the var def. |
int |
getNodeNum()
Get the node number for the Field_ref node for a DefInstr record. |
Opcode |
getOpcode()
|
int |
getRVal()
Get the address of the r-value source. |
java.util.HashSet<java.lang.Integer> |
getValues()
Get the set of values for this instruction. |
java.util.HashSet<java.lang.Integer> |
getWhereUsed()
Returns null. |
void |
setLVal(int addr)
Set with the address of the var def. |
void |
setRVal(int val)
|
protected void |
setValuesFromByteStream(java.io.DataInputStream in)
|
java.lang.String |
toStringFromComments(InstructionSet instrs)
All Bytecode instruction subclasses should override this eventually. |
java.lang.String |
toStringFromData()
All Bytecode instruction subclasses should override this eventually. |
protected void |
writeValuesToByteStream(java.io.DataOutputStream out)
|
Methods inherited from class com.joanju.cg.bytecode.Assignment |
---|
getUserScriptSource, setUserScriptSource |
Methods inherited from class com.joanju.cg.bytecode.Bytecode |
---|
addSource, addWhereUsed, beforeWrite, calcValuesAgain, compareTo, equals, fetchBytesFromDB, fetchInCu, generateDataForDB, getAddress, getCuID, getSources, getValuesCalcLocal, getXrefs, hashCode, initData, isDataModified, isFromDB, setAddress, setCuID, setDataBytesFromDB, setDataModified, setFromDB, setInstructionSet, setNodeNum, shouldLoadData, sourcesForXrefTarget, storeIfModified, toString, toStringFromName, toStringFromSet |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DefInstr()
public DefInstr(int cuid, int address)
Method Detail |
---|
public void calcValueSets() throws java.sql.SQLException, java.io.IOException
Bytecode
Called during build, build-recalc, checkvals, and checkvals-recalc. Implementations should only build from external values once. Calculates which xref records are needed as well.
IMPORTANT: Should only ever be called for instructions belonging to an InstructionSet.
calcValueSets
in class Bytecode
java.sql.SQLException
java.io.IOException
public int getLVal() throws java.sql.SQLException, java.io.IOException
java.sql.SQLException
java.io.IOException
public int getNodeNum()
getNodeNum
in class Bytecode
public Opcode getOpcode()
getOpcode
in class Bytecode
public int getRVal() throws java.sql.SQLException, java.io.IOException
java.sql.SQLException
java.io.IOException
public java.util.HashSet<java.lang.Integer> getValues() throws java.sql.SQLException, java.io.IOException
Bytecode
getValues
in class Bytecode
java.sql.SQLException
java.io.IOException
public java.util.HashSet<java.lang.Integer> getWhereUsed() throws java.sql.SQLException, java.io.IOException
Bytecode
getWhereUsed
in class Bytecode
java.sql.SQLException
java.io.IOException
public void setLVal(int addr)
public void setRVal(int val)
protected void setValuesFromByteStream(java.io.DataInputStream in) throws java.io.IOException
setValuesFromByteStream
in class Bytecode
java.io.IOException
public java.lang.String toStringFromComments(InstructionSet instrs)
Bytecode
toStringFromComments
in class Bytecode
public java.lang.String toStringFromData()
Bytecode
toStringFromData
in class Bytecode
protected void writeValuesToByteStream(java.io.DataOutputStream out) throws java.io.IOException
writeValuesToByteStream
in class Bytecode
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |