Пример #1
0
 /// <summary>
 ///     Negates a value and pushes the result onto the evaluation stack.
 /// </summary>
 public FluentIlGenerator Neg()
 {
     IlGenerator.Emit(OpCodes.Neg);
     return(this);
 }
Пример #2
0
 /// <summary>
 ///     Transfers control from the�fault�or�finally�clause of an exception block back to the Common Language
 ///     Infrastructure (CLI) exception handler.
 /// </summary>
 public FluentIlGenerator Endfinally()
 {
     IlGenerator.Emit(OpCodes.Endfinally);
     return(this);
 }
Пример #3
0
 /// <summary>
 ///     Transfers control to a target instruction if the first value is greater than or equal to the second value.
 /// </summary>
 public FluentIlGenerator Bge(Label label)
 {
     IlGenerator.Emit(OpCodes.Bge, label);
     return(this);
 }
Пример #4
0
 /// <summary>
 ///     Implements a jump table.
 /// </summary>
 public FluentIlGenerator Switch(params Label[] labels)
 {
     IlGenerator.Emit(OpCodes.Switch, labels);
     return(this);
 }
Пример #5
0
 /// <summary>
 ///     Transfers control to a target instruction (short form) if�value�is�true, not null, or non-zero.
 /// </summary>
 public FluentIlGenerator Brtrue_S(Label label)
 {
     IlGenerator.Emit(OpCodes.Brtrue_S, label);
     return(this);
 }
Пример #6
0
 /// <summary>
 ///     Stores a object reference value at a supplied address.
 /// </summary>
 public FluentIlGenerator Stind_Ref()
 {
     IlGenerator.Emit(OpCodes.Stind_Ref);
     return(this);
 }
Пример #7
0
 /// <summary>
 ///     Exits current method and jumps to specified method.
 /// </summary>
 public FluentIlGenerator Jmp(MethodInfo methodInfo)
 {
     IlGenerator.Emit(OpCodes.Jmp, methodInfo);
     return(this);
 }
 /// <summary>
 ///     Pushes the supplied�int8�value onto the evaluation stack as an�int32, short form.
 /// </summary>
 public FluentIlGenerator Ldc_I4_S(sbyte value) {
     IlGenerator.Emit(OpCodes.Ldc_I4_S, value);
     return this;
 }
 /// <summary>
 ///     Pushes a supplied value of type�int64�onto the evaluation stack as an�int64.
 /// </summary>
 public FluentIlGenerator Ldc_I8(long value) {
     IlGenerator.Emit(OpCodes.Ldc_I8, value);
     return this;
 }
Пример #10
0
 /// <summary>
 ///     Subtracts one unsigned integer value from another, performs an overflow check, and pushes the result onto the
 ///     evaluation stack.
 /// </summary>
 public FluentIlGenerator Sub_Ovf_Un()
 {
     IlGenerator.Emit(OpCodes.Sub_Ovf_Un);
     return(this);
 }
Пример #11
0
 /// <summary>
 ///     Adds two values and pushes the result onto the evaluation stack.
 /// </summary>
 public FluentIlGenerator Add()
 {
     IlGenerator.Emit(OpCodes.Add);
     return(this);
 }
Пример #12
0
 /// <summary>
 ///     Subtracts one value from another and pushes the result onto the evaluation stack.
 /// </summary>
 public FluentIlGenerator Sub()
 {
     IlGenerator.Emit(OpCodes.Sub);
     return(this);
 }
Пример #13
0
 /// <summary>
 ///     Divides two unsigned values and pushes the remainder onto the evaluation stack.
 /// </summary>
 public FluentIlGenerator Rem_Un()
 {
     IlGenerator.Emit(OpCodes.Rem_Un);
     return(this);
 }
Пример #14
0
 /// <summary>
 ///     Shifts an integer value (in sign) to the right by a specified number of bits, pushing the result onto the
 ///     evaluation stack.
 /// </summary>
 public FluentIlGenerator Shr()
 {
     IlGenerator.Emit(OpCodes.Shr);
     return(this);
 }
 /// <summary>
 ///     Pushes a supplied value of type�int32�onto the evaluation stack as an�int32.
 /// </summary>
 public FluentIlGenerator Ldc_I4(int value) {
     IlGenerator.Emit(OpCodes.Ldc_I4, value);
     return this;
 }
 /// <summary>
 ///     Pushes a supplied value of type�float32�onto the evaluation stack as type�F�(float).
 /// </summary>
 public FluentIlGenerator Ldc_R4(float value) {
     IlGenerator.Emit(OpCodes.Ldc_R4, value);
     return this;
 }
 /// <summary>
 ///     Pushes the integer value of 1 onto the evaluation stack as an�int32.
 /// </summary>
 public FluentIlGenerator Ldc_I4_1() {
     IlGenerator.Emit(OpCodes.Ldc_I4_1);
     return this;
 }
 /// <summary>
 ///     Pushes a supplied value of type�float64�onto the evaluation stack as type�F�(float).
 /// </summary>
 public FluentIlGenerator Ldc_R8(double value) {
     IlGenerator.Emit(OpCodes.Ldc_R8, value);
     return this;
 }
Пример #19
0
 /// <summary>
 ///     Loads a value of type�native int�as a�native int�onto the evaluation stack indirectly.
 /// </summary>
 public FluentIlGenerator Ldind_I()
 {
     IlGenerator.Emit(OpCodes.Ldind_I);
     return(this);
 }
 /// <summary>
 ///     Creates a new object or a new instance of a value type, pushing an object reference (type�O) onto the
 ///     evaluation stack.
 /// </summary>
 public FluentIlGenerator Newobj(ConstructorInfo ctorInfo) {
     IlGenerator.Emit(OpCodes.Newobj, ctorInfo);
     return this;
 }
Пример #21
0
 /// <summary>
 ///     Transfers control to a target instruction when two unsigned integer values or unordered float values are not
 ///     equal.
 /// </summary>
 public FluentIlGenerator Bne_Un(Label label)
 {
     IlGenerator.Emit(OpCodes.Bne_Un, label);
     return(this);
 }
 /// <summary>
 ///     Copies a value of a specified type from the evaluation stack into a supplied memory address.
 /// </summary>
 public FluentIlGenerator Stobj(Type type) {
     IlGenerator.Emit(OpCodes.Stobj, type);
     return this;
 }
Пример #23
0
 /// <summary>
 ///     Signals the Common Language Infrastructure (CLI) to inform the debugger that a break point has been tripped.
 /// </summary>
 public FluentIlGenerator Break()
 {
     IlGenerator.Emit(OpCodes.Break);
     return(this);
 }
 /// <summary>
 ///     Tests whether an object reference (type�O) is a new instance of a particular class.
 /// </summary>
 public FluentIlGenerator Isinst(Type type) {
     IlGenerator.Emit(OpCodes.Isinst, type);
     return this;
 }
Пример #25
0
 /// <summary>
 ///     Transfers control from the�filter�clause of an exception back to the Common Language Infrastructure (CLI)
 ///     exception handler.
 /// </summary>
 public FluentIlGenerator Endfilter()
 {
     IlGenerator.Emit(OpCodes.Endfilter);
     return(this);
 }
 /// <summary>
 ///     Pushes a null reference (type�O) onto the evaluation stack.
 /// </summary>
 public FluentIlGenerator Ldnull() {
     IlGenerator.Emit(OpCodes.Ldnull);
     return this;
 }
Пример #27
0
 /// <summary>
 ///     Exits a protected region of code, unconditionally transferring control to a target instruction (short form).
 /// </summary>
 public FluentIlGenerator Leave_S(Label label)
 {
     IlGenerator.Emit(OpCodes.Leave_S, label);
     return(this);
 }
 /// <summary>
 ///     Pushes a new object reference to a string literal stored in the metadata.
 /// </summary>
 public FluentIlGenerator Ldstr(string value) {
     IlGenerator.Emit(OpCodes.Ldstr, value);
     return this;
 }
 /// <summary>
 ///     Loads the element with type�unsigned int32�at a specified array index onto the top of the evaluation stack as
 ///     an�int32.
 /// </summary>
 public FluentIlGenerator Ldelem_U4()
 {
     IlGenerator.Emit(OpCodes.Ldelem_U4);
     return(this);
 }
Пример #30
0
 /// <summary>
 ///     Multiplies two integer values, performs an overflow check, and pushes the result onto the evaluation stack.
 /// </summary>
 public FluentIlGenerator Mul_Ovf()
 {
     IlGenerator.Emit(OpCodes.Mul_Ovf);
     return(this);
 }