Class CecilILGenerator
A variant of ILGenerator which uses Mono.Cecil under the hood.
Inheritance
System.Object
CecilILGenerator
Assembly: MonoMod.Utils.dll
Syntax
public sealed class CecilILGenerator : ILGeneratorShim
Constructors
CecilILGenerator(ILProcessor)
Declaration
public CecilILGenerator(ILProcessor il)
Parameters
| Type |
Name |
Description |
| Mono.Cecil.Cil.ILProcessor |
il |
|
Fields
IL
The underlying Mono.Cecil.Cil.ILProcessor.
Declaration
public readonly ILProcessor IL
Field Value
| Type |
Description |
| Mono.Cecil.Cil.ILProcessor |
|
Properties
ILOffset
Declaration
public override int ILOffset { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
Overrides
Methods
BeginCatchBlock(Type)
Declaration
public override void BeginCatchBlock(Type exceptionType)
Parameters
| Type |
Name |
Description |
| System.Type |
exceptionType |
|
Overrides
BeginExceptFilterBlock()
Declaration
public override void BeginExceptFilterBlock()
Overrides
BeginExceptionBlock()
Declaration
public override Label BeginExceptionBlock()
Returns
| Type |
Description |
| System.Reflection.Emit.Label |
|
Overrides
BeginFaultBlock()
Declaration
public override void BeginFaultBlock()
Overrides
BeginFinallyBlock()
Declaration
public override void BeginFinallyBlock()
Overrides
BeginScope()
Declaration
public override void BeginScope()
Overrides
DeclareLocal(Type)
Declaration
public override LocalBuilder DeclareLocal(Type type)
Parameters
| Type |
Name |
Description |
| System.Type |
type |
|
Returns
| Type |
Description |
| System.Reflection.Emit.LocalBuilder |
|
Overrides
DeclareLocal(Type, Boolean)
Declaration
public override LocalBuilder DeclareLocal(Type type, bool pinned)
Parameters
| Type |
Name |
Description |
| System.Type |
type |
|
| System.Boolean |
pinned |
|
Returns
| Type |
Description |
| System.Reflection.Emit.LocalBuilder |
|
Overrides
DefineLabel()
Declaration
public override Label DefineLabel()
Returns
| Type |
Description |
| System.Reflection.Emit.Label |
|
Overrides
Emit(OpCode)
Declaration
public override void Emit(OpCode opcode)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
Overrides
Emit(OpCode, Byte)
Declaration
public override void Emit(OpCode opcode, byte arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Byte |
arg |
|
Overrides
Emit(OpCode, Double)
Declaration
public override void Emit(OpCode opcode, double arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Double |
arg |
|
Overrides
Emit(OpCode, Int16)
Declaration
public override void Emit(OpCode opcode, short arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Int16 |
arg |
|
Overrides
Emit(OpCode, Int32)
Declaration
public override void Emit(OpCode opcode, int arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Int32 |
arg |
|
Overrides
Emit(OpCode, Int64)
Declaration
public override void Emit(OpCode opcode, long arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Int64 |
arg |
|
Overrides
Emit(OpCode, ConstructorInfo)
Declaration
public override void Emit(OpCode opcode, ConstructorInfo arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.ConstructorInfo |
arg |
|
Overrides
Emit(OpCode, Label)
Declaration
public override void Emit(OpCode opcode, Label label)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.Emit.Label |
label |
|
Overrides
Emit(OpCode, Label[])
Declaration
public override void Emit(OpCode opcode, Label[] labels)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.Emit.Label[] |
labels |
|
Overrides
Emit(OpCode, LocalBuilder)
Declaration
public override void Emit(OpCode opcode, LocalBuilder local)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.Emit.LocalBuilder |
local |
|
Overrides
Emit(OpCode, SignatureHelper)
Declaration
public override void Emit(OpCode opcode, SignatureHelper signature)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.Emit.SignatureHelper |
signature |
|
Overrides
Emit(OpCode, FieldInfo)
Declaration
public override void Emit(OpCode opcode, FieldInfo arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.FieldInfo |
arg |
|
Overrides
Emit(OpCode, MethodInfo)
Declaration
public override void Emit(OpCode opcode, MethodInfo arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.MethodInfo |
arg |
|
Overrides
Emit(OpCode, SByte)
Declaration
public override void Emit(OpCode opcode, sbyte arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.SByte |
arg |
|
Overrides
Emit(OpCode, Single)
Declaration
public override void Emit(OpCode opcode, float arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Single |
arg |
|
Overrides
Emit(OpCode, String)
Declaration
public override void Emit(OpCode opcode, string arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.String |
arg |
|
Overrides
Emit(OpCode, Type)
Declaration
public override void Emit(OpCode opcode, Type arg)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Type |
arg |
|
Overrides
EmitCall(OpCode, MethodInfo, Type[])
Declaration
public override void EmitCall(OpCode opcode, MethodInfo methodInfo, Type[] optionalParameterTypes)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.MethodInfo |
methodInfo |
|
| System.Type[] |
optionalParameterTypes |
|
Overrides
EmitCalli(OpCode, CallingConventions, Type, Type[], Type[])
Declaration
public override void EmitCalli(OpCode opcode, CallingConventions callingConvention, Type returnType, Type[] parameterTypes, Type[] optionalParameterTypes)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Reflection.CallingConventions |
callingConvention |
|
| System.Type |
returnType |
|
| System.Type[] |
parameterTypes |
|
| System.Type[] |
optionalParameterTypes |
|
Overrides
EmitCalli(OpCode, CallingConvention, Type, Type[])
Declaration
public override void EmitCalli(OpCode opcode, CallingConvention unmanagedCallConv, Type returnType, Type[] parameterTypes)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.OpCode |
opcode |
|
| System.Runtime.InteropServices.CallingConvention |
unmanagedCallConv |
|
| System.Type |
returnType |
|
| System.Type[] |
parameterTypes |
|
Overrides
EmitWriteLine(LocalBuilder)
Declaration
public override void EmitWriteLine(LocalBuilder localBuilder)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.LocalBuilder |
localBuilder |
|
Overrides
EmitWriteLine(FieldInfo)
Declaration
public override void EmitWriteLine(FieldInfo field)
Parameters
| Type |
Name |
Description |
| System.Reflection.FieldInfo |
field |
|
Overrides
EmitWriteLine(String)
Declaration
public override void EmitWriteLine(string value)
Parameters
| Type |
Name |
Description |
| System.String |
value |
|
Overrides
EndExceptionBlock()
Declaration
public override void EndExceptionBlock()
Overrides
EndScope()
Declaration
public override void EndScope()
Overrides
MarkLabel(Label)
Declaration
public override void MarkLabel(Label loc)
Parameters
| Type |
Name |
Description |
| System.Reflection.Emit.Label |
loc |
|
Overrides
ThrowException(Type)
Declaration
public override void ThrowException(Type type)
Parameters
| Type |
Name |
Description |
| System.Type |
type |
|
Overrides
UsingNamespace(String)
Declaration
public override void UsingNamespace(string usingNamespace)
Parameters
| Type |
Name |
Description |
| System.String |
usingNamespace |
|
Overrides