Property | Type | Description | |
---|---|---|---|
blockStack |
Method | Description | |
---|---|---|
AddTryBlock ( |
||
BindConstant ( string name, object value, Type type ) : |
Bind a constant to the CIL instructions.
|
|
BindLocal ( Local local ) : |
Bind a local to the CIL instructions.
|
|
BindLocal ( string name, int index ) : |
Bind a local to the CIL instructions.
|
|
Branch ( BranchOp inst, |
Add a branch instruction
|
|
CloseScope ( ) : void |
Close the current scope.
|
|
CodeLabel ( |
Add a label to the CIL instructions
|
|
EndCatchBlock ( |
Mark this position as the end of the last started block and make it a catch block. This catch block is associated with the specified try block.
|
|
EndFaultBlock ( |
Mark this position as the end of the last started block and make it a fault block. This fault block is associated with the specified try block.
|
|
EndFilterBlock ( |
Mark this position as the end of the last started block and make it a filter block. This filter block is associated with the specified try block. The format is: filterLab: ... ... filterHandler : ... ...
|
|
EndFinallyBlock ( |
Mark this position as the end of the last started block and make it a finally block. This finally block is associated with the specified try block.
|
|
EndInsert ( ) : void |
Stop inserting instructions into the buffer. Any instructions added after this call will go at the end of the instruction buffer. To be used with StartInsert(). This method cannot be called if not in "insert" mode.
|
|
EndInstCounter ( ) : void |
Reset the counter for GetNextInstuction to the first instruction. This method cannot be called when in "insert" mode.
|
|
EndTryBlock ( ) : |
Mark this position as the end of the last started block and make it a try block. This try block is added to the current instructions (ie do not need to call AddTryBlock)
|
|
FieldInst ( FieldOp inst, |
Add an instruction with a field parameter
|
|
GetInstructions ( ) : PERWAPI.CILInstruction[] |
Get all the IL instructions. This method cannot be called when in "insert" mode.
|
|
GetMaxStackDepthRequired ( ) : int |
Returns the maximum stack depth required by these CIL instructions.
|
|
GetNextInstruction ( ) : |
Get the next instruction in the instruction buffer in sequence. An internal index is kept to keep track of which instruction was the last retrieved by this method. On the first call, the first instruction in the buffer is retrieved. The instruction index may be zeroed using ResetInstCounter(). This method cannot be called when in "insert" mode.
|
|
GetPrevInstruction ( ) : |
Get the previous instruction in the instruction buffer in sequence. An internal index is kept to keep track of which instruction was the last retrieved by this method. This method cannot be called when in "insert" mode.
|
|
InInsertMode ( ) : bool |
Check if the buffer is ready for insertion of extra instructions. The buffer only needs to be in insert mode when instructions need to be added to existing instructions, not for addition of instructions to the end of the buffer.
|
|
Inst ( Op inst ) : void |
Add a simple IL instruction
|
|
IntInst ( IntOp inst, int val ) : void |
Add an IL instruction with an integer parameter
|
|
IntLine ( int num ) : void | ||
IntLine ( int sLin, int sCol, int eLin, int eCol ) : void |
CLS compliant version of Line()
|
|
Line ( uint num, uint startCol ) : void |
Create a new line instruction.
|
|
Line ( uint num, uint startCol, uint endCol ) : void |
Create a new line instruction.
|
|
Line ( uint startNum, uint startCol, uint endNum, uint endCol ) : void |
Create a new line instruction.
|
|
Line ( uint startNum, uint startCol, uint endNum, uint endCol, |
Create a new line instruction.
|
|
LoadArg ( int argNo ) : void |
Add the instruction to load an argument on TOS. This method selects the correct instruction based on the value of argNo
|
|
LoadArgAdr ( int argNo ) : void |
Add the instruction to load the address of an argument on TOS. This method selects the correct instruction based on the value of argNo.
|
|
LoadLocal ( int locNo ) : void |
Add the instruction to load a local on TOS. This method selects the correct instruction based on the value of locNo.
|
|
LoadLocalAdr ( int locNo ) : void |
Add the instruction to load the address of a local on TOS. This method selects the correct instruction based on the value of locNo.
|
|
MethInst ( MethodOp inst, |
Add an instruction with a method parameter
|
|
NewCodedLabel ( ) : |
Create a new label at this position in the code buffer
|
|
NewLabel ( ) : |
Create a new CIL label. To place the label in the CIL instruction stream use CodeLabel.
|
|
NumInstructions ( ) : int |
The number of instructions currently in the buffer.
|
|
OpenScope ( ) : void |
Open a new scope.
|
|
PushFalse ( ) : void |
Add an instruction to push the boolean value false on TOS
|
|
PushInt ( int i ) : void |
Add an instruction which puts an integer on TOS. This method selects the correct instruction based on the value of the integer.
|
|
PushLong ( long l ) : void |
Add the instruction to load a long on TOS
|
|
PushTrue ( ) : void |
Add an instruction to push the boolean value true on TOS
|
|
RemoveInstruction ( int pos ) : void |
Remove the instruction at a specified position from the buffer. If you remove the "current" instruction (from GetNext or GetPrev) then the "current" instruction becomes the instruction before that in the buffer.
|
|
RemoveInstructions ( int startRange, int endRange ) : void |
Remove the instructions from position "startRange" to (and including) position "endRange" from the buffer. If the range removed contains the "current" instruction (from GetNext or GetPrev) then the "current" instruction becomes the instruction before startRange in the buffer.
|
|
ReplaceInstruction ( int pos ) : void |
Replace a single IL instruction at position pos in the buffer with some new instruction(s). This removes the instruction and puts the instruction buffer into "insert" mode at the position of the removed instruction. EndInsert must be called to insert the new instructions. This method cannot be called when in "insert" mode.
|
|
ReplaceInstruction ( int from, int to ) : void |
Replace a number of IL instructions beginning at position pos in the buffer with some new instruction(s). This removes the instructions and puts the instruction buffer into "insert" mode at the position of the removed instructions. EndInsert must be called to insert the new instructions. The instructions from index "from" up to and including index "to" will be replaced by the new instructions entered. This method cannot be called when in "insert" mode.
|
|
ResetInstCounter ( ) : void |
Reset the counter for GetNextInstuction to the first instruction. This method cannot be called when in "insert" mode.
|
|
SetInstructions ( |
Set the instruction to be the new array of instructions, this will replace any existing instructions. This method cannot be called when in "insert" mode.
|
|
StartBlock ( ) : void |
Mark this position as the start of a new block (try, catch, filter, finally or fault)
|
|
StartInsert ( ) : void |
This method should only be used to insert instructions into a buffer which already contains some instructions. Start inserting instructions into the instruction buffer ie. set the buffer to "insert" mode. The position of the insertion will be directly after the "current instruction" as used be GetNextInstruction(). The instructions to be inserted are any calls to the instruction specific methods - Inst, TypeInst, MethodInst, etc. This method cannot be called if already in "insert" mode.
|
|
StoreArg ( int argNo ) : void |
Add the instruction to store to an argument. This method selects the correct instruction based on the value of argNo.
|
|
StoreLocal ( int locNo ) : void |
Add the instruction to store to a local. This method selects the correct instruction based on the value of locNo.
|
|
Switch ( |
Add a switch instruction
|
|
TypeInst ( TypeOp inst, Type aType ) : void |
Add an instruction with a type parameter
|
|
calli ( |
Add the calli instruction
|
|
emitbyte ( byte bVal ) : void |
Add a byte to the CIL instructions (.emitbyte)
|
|
ldc_i8 ( long cVal ) : void |
Add the load long instruction
|
|
ldc_r4 ( float cVal ) : void |
Add the load float32 instruction
|
|
ldc_r8 ( double cVal ) : void |
Add the load float64 instruction
|
|
ldstr ( string str ) : void |
Add the load string instruction
|
Method | Description | |
---|---|---|
AddEHClause ( |
||
AddToBuffer ( |
||
AddToLines ( Line line ) : void | ||
BuildCILInfo ( |
||
BuildTables ( |
||
CILInstructions ( |
||
ChangeRefsToDefs ( |
||
CheckCode ( uint locSigIx, bool initLocals, int maxStack, |
||
GetCodeSize ( ) : uint | ||
GetLabel ( |
||
InsertInstructions ( int ix, |
||
IsEmpty ( ) : bool | ||
IsTerminatingInstruction ( |
||
SetAndResolveInstructions ( |
||
TraverseMaxDepth ( |
||
UpdateIndexesFrom ( int ix ) : void | ||
Write ( |
||
Write ( |
public AddTryBlock ( |
||
tryBlock | ||
return | void |
public BindConstant ( string name, object value, Type type ) : |
||
name | string | The name of the constant. |
value | object | The value of the constant. |
type | Type | The type of the constant. |
return |
public BindLocal ( Local local ) : |
||
local | Local | The local variable to load. |
return |
public BindLocal ( string name, int index ) : |
||
name | string | The name of the local variable.. |
index | int | The index of the local variable. |
return |
public Branch ( BranchOp inst, |
||
inst | BranchOp | the branch instruction |
lab | the label that is the target of the branch | |
return | void |
public CodeLabel ( |
||
lab | the label to be added | |
return | void |
public EndCatchBlock ( |
||
exceptType | the exception type to be caught | |
tryBlock | the try block associated with this catch block | |
return | void |
public EndFaultBlock ( |
||
tryBlock | the try block associated with this fault block | |
return | void |
public EndFilterBlock ( |
||
filterLab | the label where the filter code is | |
tryBlock | the try block associated with this filter block | |
return | void |
public EndFinallyBlock ( |
||
tryBlock | the try block associated with this finally block | |
return | void |
public FieldInst ( FieldOp inst, |
||
inst | FieldOp | the CIL instruction |
f | the field parameter | |
return | void |
public GetInstructions ( ) : PERWAPI.CILInstruction[] | ||
return | PERWAPI.CILInstruction[] |
public GetNextInstruction ( ) : |
||
return |
public GetPrevInstruction ( ) : |
||
return |
public IntInst ( IntOp inst, int val ) : void | ||
inst | IntOp | the IL instruction |
val | int | the integer parameter value |
return | void |
public IntLine ( int sLin, int sCol, int eLin, int eCol ) : void | ||
sLin | int | The start line |
sCol | int | The start column |
eLin | int | The end line |
eCol | int | The end column |
return | void |
public Line ( uint num, uint startCol ) : void | ||
num | uint | The line for the given code segment. |
startCol | uint | The starting column for the code segment. |
return | void |
public Line ( uint num, uint startCol, uint endCol ) : void | ||
num | uint | The line for the given code segment. |
startCol | uint | The starting column for the code segment. |
endCol | uint | The ending column for the code segment. |
return | void |
public Line ( uint startNum, uint startCol, uint endNum, uint endCol ) : void | ||
startNum | uint | The starting line for the code segment. |
startCol | uint | The starting column for the code segment. |
endNum | uint | The ending line for the code segment. |
endCol | uint | The ending column for the code segment. |
return | void |
public Line ( uint startNum, uint startCol, uint endNum, uint endCol, |
||
startNum | uint | The starting line for the code segment. |
startCol | uint | The starting column for the code segment. |
endNum | uint | The ending line for the code segment. |
endCol | uint | The ending column for the code segment. |
sFile | The source file for the given code segment. | |
return | void |
public LoadArg ( int argNo ) : void | ||
argNo | int | the number of the argument |
return | void |
public LoadArgAdr ( int argNo ) : void | ||
argNo | int | the number of the argument |
return | void |
public LoadLocal ( int locNo ) : void | ||
locNo | int | the number of the local to load |
return | void |
public LoadLocalAdr ( int locNo ) : void | ||
locNo | int | the number of the local |
return | void |
public MethInst ( MethodOp inst, |
||
inst | MethodOp | the CIL instruction |
m | the method parameter | |
return | void |
public RemoveInstruction ( int pos ) : void | ||
pos | int | position of the instruction to be removed |
return | void |
public RemoveInstructions ( int startRange, int endRange ) : void | ||
startRange | int | |
endRange | int | |
return | void |
public ReplaceInstruction ( int pos ) : void | ||
pos | int | position of the instruction to be replaced |
return | void |
public ReplaceInstruction ( int from, int to ) : void | ||
from | int | the index to start replacing instruction from |
to | int | the last index of the instructions to be replaced |
return | void |
public SetInstructions ( |
||
insts | The new instructions | |
return | void |
public StoreArg ( int argNo ) : void | ||
argNo | int | the argument to be stored to |
return | void |
public StoreLocal ( int locNo ) : void | ||
locNo | int | the local to be stored to |
return | void |
public Switch ( |
||
labs | the target labels for the switch | |
return | void |
public TypeInst ( TypeOp inst, Type aType ) : void | ||
inst | TypeOp | the CIL instruction |
aType | Type | the type argument for the CIL instruction |
return | void |
public calli ( |
||
sig | the signature for the calli | |
return | void |