|
||||||||||
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.TriggerblockInstr
public class TriggerblockInstr
Represents an ON trigger block in the source code.
As of current writing (Nov.2007) there is no implementation of procedural calls to triggers (ex: APPLY), though it's possible it could be done in some limited fashion.
In terms of working with trigger blocks though, they are interesting to us because they frequently themselves contain calls, and we want to know what is the containing procedure of the trigger block. In the bytecode implementation, trigger blocks are treated similarly to procedure blocks, so we can't see from the bytecode order what the containing procedure is for a trigger block, so that information is added as an additional field.
Field Summary |
---|
Fields inherited from class com.joanju.cg.bytecode.Bytecode |
---|
address, cuid, instrSet, nodeNum, xrefs |
Constructor Summary | |
---|---|
TriggerblockInstr()
|
|
TriggerblockInstr(int cuid,
int address)
|
Method Summary | |
---|---|
void |
calcValueSets()
Calculate the value sets for the instruction. |
int |
getContainingProcedureAddress()
A trigger might be in the outer/external procedure block, or in a sub-procedure of any sort. |
Opcode |
getOpcode()
|
void |
setContainingProcedureAddress(int addr)
This value is assigned by the compiler. |
protected void |
setValuesFromByteStream(java.io.DataInputStream in)
|
java.lang.String |
toStringFromData()
containingProcedureAddress. |
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, getValues, getValuesCalcLocal, getWhereUsed, getXrefs, hashCode, initData, isDataModified, isFromDB, setAddress, setCuID, setDataBytesFromDB, setDataModified, setFromDB, setInstructionSet, setNodeNum, shouldLoadData, sourcesForXrefTarget, storeIfModified, toString, toStringFromComments, toStringFromName, toStringFromSet |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TriggerblockInstr()
public TriggerblockInstr(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 getContainingProcedureAddress()
public Opcode getOpcode()
getOpcode
in class Bytecode
public void setContainingProcedureAddress(int addr)
protected void setValuesFromByteStream(java.io.DataInputStream in) throws java.io.IOException
setValuesFromByteStream
in class Bytecode
java.io.IOException
public java.lang.String toStringFromData()
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 |