Метод | Описание | |
---|---|---|
Add ( ) : void |
Pops two values from the stack, adds them together, then pushes the result to the stack.
|
|
BeginCatchBlock ( |
Begins a catch block. BeginExceptionBlock() must have already been called.
|
|
BeginExceptionBlock ( ) : void |
Begins a try-catch-finally block.
|
|
BeginFaultBlock ( ) : void |
Begins a fault block. BeginTryCatchFinallyBlock() must have already been called.
|
|
BeginFilterBlock ( ) : void |
Begins a filter block. BeginTryCatchFinallyBlock() must have already been called.
|
|
BeginFinallyBlock ( ) : void |
Begins a finally block. BeginTryCatchFinallyBlock() must have already been called.
|
|
BitwiseAnd ( ) : void |
Pops two values from the stack, ANDs them together, then pushes the result to the stack.
|
|
BitwiseNot ( ) : void |
Pops a value from the stack, inverts it, then pushes the result to the stack.
|
|
BitwiseOr ( ) : void |
Pops two values from the stack, ORs them together, then pushes the result to the stack.
|
|
BitwiseXor ( ) : void |
Pops two values from the stack, XORs them together, then pushes the result to the stack.
|
|
Box ( |
Pops a value from the stack, converts it to an object reference, then pushes it back onto the stack.
|
|
Branch ( ILLabel label ) : void |
Unconditionally branches to the given label.
|
|
BranchIfEqual ( ILLabel label ) : void |
Branches to the given label if the two values on the top of the stack are equal.
|
|
BranchIfGreaterThan ( ILLabel label ) : void |
Branches to the given label if the first value on the stack is greater than the second value on the stack.
|
|
BranchIfGreaterThanOrEqual ( ILLabel label ) : void |
Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack.
|
|
BranchIfGreaterThanOrEqualUnsigned ( ILLabel label ) : void |
Branches to the given label if the first value on the stack is greater than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch.
|
|
BranchIfGreaterThanUnsigned ( ILLabel label ) : void |
Branches to the given label if the first value on the stack is greater than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch.
|
|
BranchIfLessThan ( ILLabel label ) : void |
Branches to the given label if the first value on the stack is less than the second value on the stack.
|
|
BranchIfLessThanOrEqual ( ILLabel label ) : void |
Branches to the given label if the first value on the stack is less than or equal to the second value on the stack.
|
|
BranchIfLessThanOrEqualUnsigned ( ILLabel label ) : void |
Branches to the given label if the first value on the stack is less than or equal to the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch.
|
|
BranchIfLessThanUnsigned ( ILLabel label ) : void |
Branches to the given label if the first value on the stack is less than the second value on the stack. If the operands are integers then they are treated as if they are unsigned. If the operands are floating point numbers then a NaN value will trigger a branch.
|
|
BranchIfNotEqual ( ILLabel label ) : void |
Branches to the given label if the two values on the top of the stack are not equal.
|
|
BranchIfNotZero ( ILLabel label ) : void |
Branches to the given label if the value on the top of the stack is non-zero, true or non-null.
|
|
BranchIfZero ( ILLabel label ) : void |
Branches to the given label if the value on the top of the stack is zero.
|
|
Breakpoint ( ) : void |
Triggers a breakpoint in an attached debugger.
|
|
CallStatic ( System method ) : void |
Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation can be used to call instance methods, but virtual overrides will not be called and a null check will not be performed at the callsite.
|
|
CallVirtual ( System method ) : void |
Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one). This operation cannot be used to call static methods. Virtual overrides are obeyed and a null check is performed.
|
|
CastClass ( |
Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes the object onto the stack if the check was successful or throws an InvalidCastException if the check failed.
|
|
CompareEqual ( ) : void |
Pops two values from the stack, compares, then pushes
|
|
CompareGreaterThan ( ) : void |
Pops two values from the stack, compares, then pushes
|
|
CompareGreaterThanUnsigned ( ) : void |
Pops two values from the stack, compares, then pushes
|
|
CompareLessThan ( ) : void |
Pops two values from the stack, compares, then pushes
|
|
CompareLessThanUnsigned ( ) : void |
Pops two values from the stack, compares, then pushes
|
|
Complete ( ) : void |
Emits a return statement and finalizes the generated code. Do not emit any more instructions after calling this method.
|
|
ConvertToDouble ( ) : void |
Pops a value from the stack, converts it to a double, then pushes it back onto the stack.
|
|
ConvertToInt64 ( ) : void |
Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it back onto the stack.
|
|
ConvertToInteger ( ) : void |
Pops a value from the stack, converts it to a signed integer, then pushes it back onto the stack.
|
|
ConvertToUnsignedInt64 ( ) : void |
Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it back onto the stack.
|
|
ConvertToUnsignedInteger ( ) : void |
Pops a value from the stack, converts it to an unsigned integer, then pushes it back onto the stack.
|
|
ConvertUnsignedToDouble ( ) : void |
Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto the stack.
|
|
CreateLabel ( ) : ILLabel |
Creates a label without setting its position.
|
|
DeclareVariable ( |
Declares a new local variable.
|
|
DefineLabelPosition ( ILLabel label ) : void |
Defines the position of the given label.
|
|
Divide ( ) : void |
Pops two values from the stack, divides the first by the second, then pushes the result to the stack.
|
|
Duplicate ( ) : void |
Duplicates the value on the top of the stack.
|
|
DynamicILGenerator ( System dynamicMethod ) : System |
Creates a new DynamicILGenerator instance.
|
|
EndExceptionBlock ( ) : void |
Ends a try-catch-finally block.
|
|
EndFilter ( ) : void |
This instruction can be used from within a filter block to indicate whether the exception will be handled. It pops an integer from the stack which should be
|
|
EndFinally ( ) : void |
This instruction can be used from within a finally block to resume the exception handling process. It is the only valid way of leaving a finally block.
|
|
InitObject ( |
Pops a managed or native pointer off the stack and initializes the referenced type with zeros.
|
|
IsInstance ( |
Pops an object off the stack, checks that the object inherits from or implements the given type, and pushes either the object (if the check was successful) or
|
|
Leave ( ILLabel label ) : void |
Unconditionally branches to the given label. Unlike the regular branch instruction, this instruction can exit out of try, filter and catch blocks.
|
|
LoadAddressOfVariable ( |
Pushes the address of the given variable onto the stack.
|
|
LoadArgument ( int argumentIndex ) : void |
Pushes the value of the method argument with the given index onto the stack.
|
|
LoadArrayElement ( |
Pops the array and index off the stack and pushes the element value onto the stack.
|
|
LoadArrayLength ( ) : void |
Pops an array off the stack and pushes the length of the array onto the stack.
|
|
LoadDouble ( double value ) : void |
Pushes a constant value onto the stack.
|
|
LoadField ( System field ) : void |
Pushes the value of the given field onto the stack.
|
|
LoadInt32 ( int value ) : void |
Pushes a constant value onto the stack.
|
|
LoadInt64 ( long value ) : void |
Pushes a 64-bit constant value onto the stack.
|
|
LoadNull ( ) : void |
Pushes
|
|
LoadStaticMethodPointer ( System method ) : void |
Pushes a pointer to the native code implementing the given method onto the evaluation stack. The virtual qualifier will be ignored, if present.
|
|
LoadString ( string value ) : void |
Pushes a constant value onto the stack.
|
|
LoadToken ( System method ) : void |
Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation stack.
|
|
LoadToken ( |
Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack.
|
|
LoadVariable ( |
Pushes the value of the given variable onto the stack.
|
|
LoadVirtualMethodPointer ( System method ) : void |
Pushes a pointer to the native code implementing the given method onto the evaluation stack. This method cannot be used to retrieve a pointer to a static method.
|
|
MarkSequencePoint ( System document, int startLine, int startColumn, int endLine, int endColumn ) : void |
Marks a sequence point in the Microsoft intermediate language (MSIL) stream.
|
|
Multiply ( ) : void |
Pops two values from the stack, multiplies them together, then pushes the result to the stack.
|
|
Negate ( ) : void |
Pops a value from the stack, negates it, then pushes it back onto the stack.
|
|
NewArray ( |
Pops the size of the array off the stack and pushes a new array of the given type onto the stack.
|
|
NewObject ( System constructor ) : void |
Pops the constructor arguments off the stack and creates a new instance of the object.
|
|
NoOperation ( ) : void |
Does nothing.
|
|
Pop ( ) : void |
Pops the value from the top of the stack.
|
|
Remainder ( ) : void |
Pops two values from the stack, divides the first by the second, then pushes the remainder to the stack.
|
|
Return ( ) : void |
Returns from the current method. A value is popped from the stack and used as the return value.
|
|
ShiftLeft ( ) : void |
Pops two values from the stack, shifts the first to the left, then pushes the result to the stack.
|
|
ShiftRight ( ) : void |
Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is preserved.
|
|
ShiftRightUnsigned ( ) : void |
Pops two values from the stack, shifts the first to the right, then pushes the result to the stack. The sign bit is not preserved.
|
|
StoreArgument ( int argumentIndex ) : void |
Pops a value from the stack and stores it in the method argument with the given index.
|
|
StoreArrayElement ( |
Pops the array, index and value off the stack and stores the value in the array.
|
|
StoreField ( System field ) : void |
Pops a value off the stack and stores it in the given field.
|
|
StoreVariable ( |
Pops the value from the top of the stack and stores it in the given local variable.
|
|
Subtract ( ) : void |
Pops two values from the stack, subtracts the second from the first, then pushes the result to the stack.
|
|
Switch ( ILLabel labels ) : void |
Creates a jump table. A value is popped from the stack - this value indicates the index of the label in the labels array to jump to.
|
|
Throw ( ) : void |
Pops an exception object off the stack and throws the exception.
|
|
Unbox ( |
Pops an object reference (representing a boxed value) from the stack, extracts the address, then pushes that address onto the stack.
|
|
UnboxAny ( |
Pops an object reference (representing a boxed value) from the stack, extracts the value, then pushes the value onto the stack.
|
Метод | Описание | |
---|---|---|
BeginExceptionBlock ( ExceptionClauseType type ) : void |
Begins a finally, filter or fault block.
|
|
BranchCore ( ILLabel label, byte opCode ) : void |
Unconditionally branches to the given label.
|
|
BranchCore ( ILLabel label, byte opCode, ComparisonOperator @operator ) : void |
Conditionally branches to the given label, popping two operands from the stack.
|
|
BranchCore ( ILLabel label, byte opCode, VESType operandType ) : void |
Conditionally branches to the given label, popping one operand from the stack.
|
|
CheckArithmeticOperands ( ArithmeticOperator @operator ) : void | ||
CheckComparisonOperands ( ComparisonOperator @operator, bool branchOperation ) : void | ||
ClearEvaluationStack ( ) : void |
Removes all values from the evaluation stack.
|
|
Emit1ByteOpCode ( byte opCode, int popCount, int pushCount ) : void |
Emits a one byte opcode.
|
|
Emit1ByteOpCodeInt16 ( byte opCode, int popCount, int pushCount, int emitInt16 ) : void |
Emits a one byte opcode plus a 2-byte operand.
|
|
Emit1ByteOpCodeInt32 ( byte opCode, int popCount, int pushCount, int emitInt32 ) : void |
Emits a one byte opcode plus a 4-byte operand.
|
|
Emit1ByteOpCodeInt64 ( byte opCode, int popCount, int pushCount, long emitInt64 ) : void |
Emits a one byte opcode plus a 8-byte operand.
|
|
Emit1ByteOpCodeInt8 ( byte opCode, int popCount, int pushCount, int emitInt8 ) : void |
Emits a one byte opcode plus a 1-byte operand.
|
|
Emit2ByteOpCode ( byte opCode1, byte opCode2, int popCount, int pushCount ) : void |
Emits a two byte opcode.
|
|
Emit2ByteOpCodeInt16 ( byte opCode1, byte opCode2, int popCount, int pushCount, int emitInt16 ) : void |
Emits a two byte opcode plus a 2-byte operand.
|
|
Emit2ByteOpCodeInt32 ( byte opCode1, byte opCode2, int popCount, int pushCount, int emitInt32 ) : void |
Emits a two byte opcode plus a 4-byte operand.
|
|
EmitCall ( byte opCode, System method ) : void |
Pops the method arguments off the stack, calls the given method, then pushes the result to the stack (if there was one).
|
|
EmitInt16 ( int value ) : void |
Emits a 16-bit integer and increments the offset member variable.
|
|
EmitInt32 ( int value ) : void |
Emits a 32-bit integer and increments the offset member variable.
|
|
EmitInt64 ( long value ) : void |
Emits a 64-bit integer and increments the offset member variable.
|
|
EmitLabel ( ILLabel label, int startOfNextInstruction ) : void |
Emits a single label.
|
|
EndCurrentClause ( ExceptionRegion exceptionRegion ) : void |
Closes the currently open exception clause.
|
|
EnlargeArray ( int instructionSize ) : void |
Enlarges the internal IL buffer.
|
|
FixLabels ( ) : void |
Patch any undefined labels.
|
|
GetToken ( System method ) : int |
Gets a metadata token for the given method.
|
|
GetToken ( |
Gets a metadata token for the given type.
|
|
GetToken ( string str ) : int |
Gets a metadata token for the given string.
|
|
PopStackOperands ( ) : void | ||
PushStackOperand ( VESType type ) : void | ||
ReplaceEvaluationStack ( ) : void |
Removes all values from the evaluation stack and adds the given operand types back.
|
|
ToVESType ( |
Converts a .NET type into an IL operand type.
|
|
UnconditionalBranch ( ) : void |
Puts the stack into an indeterminate state.
|
public BeginCatchBlock ( |
||
exceptionType | The type of exception to handle. | |
Результат | void |
public Branch ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfEqual ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfGreaterThan ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfGreaterThanOrEqual ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfGreaterThanOrEqualUnsigned ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfGreaterThanUnsigned ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfLessThan ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfLessThanOrEqual ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfLessThanOrEqualUnsigned ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfLessThanUnsigned ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfNotEqual ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfNotZero ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public BranchIfZero ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public CallStatic ( System method ) : void | ||
method | System | The method to call. |
Результат | void |
public CallVirtual ( System method ) : void | ||
method | System | The method to call. |
Результат | void |
public CastClass ( |
||
type | The type of the class the object inherits from or the interface the /// object implements. | |
Результат | void |
public CompareGreaterThanUnsigned ( ) : void | ||
Результат | void |
public ConvertToUnsignedInteger ( ) : void | ||
Результат | void |
public DeclareVariable ( |
||
type | The type of the local variable. | |
name | string | The name of the local variable. Can be |
Результат |
public DefineLabelPosition ( ILLabel label ) : void | ||
label | ILLabel | The label to define. |
Результат | void |
public DynamicILGenerator ( System dynamicMethod ) : System | ||
dynamicMethod | System | The dynamic method to generate code for. |
Результат | System |
public InitObject ( |
||
type | The type the pointer on the top of the stack is pointing to. | |
Результат | void |
public IsInstance ( |
||
type | The type of the class the object inherits from or the interface the /// object implements. | |
Результат | void |
public Leave ( ILLabel label ) : void | ||
label | ILLabel | The label to branch to. |
Результат | void |
public LoadAddressOfVariable ( |
||
variable | The variable whose address will be pushed. | |
Результат | void |
public LoadArgument ( int argumentIndex ) : void | ||
argumentIndex | int | The index of the argument to push onto the stack. |
Результат | void |
public LoadArrayElement ( |
||
type | The element type. | |
Результат | void |
public LoadDouble ( double value ) : void | ||
value | double | The number to push onto the stack. |
Результат | void |
public LoadField ( System field ) : void | ||
field | System | The field whose value will be pushed. |
Результат | void |
public LoadInt32 ( int value ) : void | ||
value | int | The integer to push onto the stack. |
Результат | void |
public LoadInt64 ( long value ) : void | ||
value | long | The 64-bit integer to push onto the stack. |
Результат | void |
public LoadStaticMethodPointer ( System method ) : void | ||
method | System | The method to retrieve a pointer for. |
Результат | void |
public LoadString ( string value ) : void | ||
value | string | The string to push onto the stack. |
Результат | void |
public LoadToken ( System method ) : void | ||
method | System | The method to convert to a RuntimeMethodHandle. |
Результат | void |
public LoadToken ( |
||
type | The type to convert to a RuntimeTypeHandle. | |
Результат | void |
public LoadVariable ( |
||
variable | The variable whose value will be pushed. | |
Результат | void |
public LoadVirtualMethodPointer ( System method ) : void | ||
method | System | The method to retrieve a pointer for. |
Результат | void |
public MarkSequencePoint ( System document, int startLine, int startColumn, int endLine, int endColumn ) : void | ||
document | System | The document for which the sequence point is being defined. |
startLine | int | The line where the sequence point begins. |
startColumn | int | The column in the line where the sequence point begins. |
endLine | int | The line where the sequence point ends. |
endColumn | int | The column in the line where the sequence point ends. |
Результат | void |
public NewArray ( |
||
type | The element type. | |
Результат | void |
public NewObject ( System constructor ) : void | ||
constructor | System | The constructor that is used to initialize the object. |
Результат | void |
public StoreArgument ( int argumentIndex ) : void | ||
argumentIndex | int | The index of the argument to store into. |
Результат | void |
public StoreArrayElement ( |
||
type | The element type. | |
Результат | void |
public StoreField ( System field ) : void | ||
field | System | The field to modify. |
Результат | void |
public StoreVariable ( |
||
variable | The variable to store the value. | |
Результат | void |
public Switch ( ILLabel labels ) : void | ||
labels | ILLabel | A array of labels. |
Результат | void |
public Unbox ( |
||
type | The type of the boxed value. This should be a value type. | |
Результат | void |
public UnboxAny ( |
||
type | The type of the boxed value. This should be a value type. | |
Результат | void |