|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.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
BytecodeCalled 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 Bytecodejava.sql.SQLException
java.io.IOException
public static DefglobalInstr fetchOrCreate(int nameID)
throws java.sql.SQLException,
java.io.IOException
java.sql.SQLException
java.io.IOExceptionpublic 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 Bytecodejava.sql.SQLException
java.io.IOException
protected void setValuesFromByteStream(java.io.DataInputStream in)
throws java.io.IOException
setValuesFromByteStream in class Bytecodejava.io.IOExceptionpublic java.lang.String toStringFromComments(InstructionSet instrs)
Bytecode
toStringFromComments in class Bytecodepublic java.lang.String toStringFromData()
Bytecode
toStringFromData in class Bytecodepublic 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 Bytecodejava.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||