|
||||||||||
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.DefglobalInstr
public class DefglobalInstr
Record of a global variable.
These are not a record of a DEFINE statement in a compile unit, instead, these are a record of a shared variable in the application, and all its possible values. See DefsharedInstr for records of DEFINE...SHARED instructions.
All DefglobalInstr records have cuid==Layout.CUID_GLOBALS. The address is the string ID for the global variable's name.
Field Summary |
---|
Fields inherited from class com.joanju.cg.bytecode.Bytecode |
---|
address, cuid, instrSet, nodeNum, xrefs |
Constructor Summary | |
---|---|
DefglobalInstr()
|
|
DefglobalInstr(int cuid,
int address)
|
Method Summary | |
---|---|
void |
addValue(int value)
|
void |
addValues(java.util.Collection<java.lang.Integer> addedVals)
|
void |
calcValueSets()
Calculate the value sets for the instruction. |
static DefglobalInstr |
fetchOrCreate(int nameID)
|
Opcode |
getOpcode()
|
java.util.HashSet<java.lang.Integer> |
getValues()
Get the set of values for this instruction. |
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. |
java.lang.String |
toStringFromName(InstructionSet instrs)
Some subclasses should override this to return the string literal, var name, procedure name, etc. |
protected void |
writeValuesToByteStream(java.io.DataOutputStream out)
|
Methods inherited from class com.joanju.cg.bytecode.Bytecode |
---|
addSource, addWhereUsed, beforeWrite, calcValuesAgain, compareTo, equals, fetchBytesFromDB, fetchInCu, generateDataForDB, getAddress, getCuID, getNodeNum, getSources, getValuesCalcLocal, getWhereUsed, getXrefs, hashCode, initData, isDataModified, isFromDB, setAddress, setCuID, setDataBytesFromDB, setDataModified, setFromDB, setInstructionSet, setNodeNum, shouldLoadData, sourcesForXrefTarget, storeIfModified, toString, toStringFromSet |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DefglobalInstr()
public DefglobalInstr(int cuid, int address)
Method Detail |
---|
public void addValue(int value) throws java.sql.SQLException, java.io.IOException
java.sql.SQLException
java.io.IOException
public void addValues(java.util.Collection<java.lang.Integer> addedVals) throws java.sql.SQLException, java.io.IOException
java.sql.SQLException
java.io.IOException
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 static DefglobalInstr fetchOrCreate(int nameID) throws java.sql.SQLException, java.io.IOException
java.sql.SQLException
java.io.IOException
public Opcode getOpcode()
getOpcode
in class Bytecode
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
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
public java.lang.String toStringFromName(InstructionSet instrs)
Bytecode
toStringFromName
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 |