Show / Hide Table of Contents

    Class ILGeneratorShim

    Abstract version of System.Reflection.Emit.ILGenerator. See System.Reflection.Emit.ILGenerator for proper documentation.

    Inheritance
    System.Object
    ILGeneratorShim
    CecilILGenerator
    Namespace: MonoMod.Utils.Cil
    Assembly: MonoMod.Utils.dll
    Syntax
    public abstract class ILGeneratorShim : Object

    Constructors

    ILGeneratorShim()

    Declaration
    protected ILGeneratorShim()

    Properties

    ILOffset

    Declaration
    public abstract int ILOffset { get; }
    Property Value
    Type Description
    System.Int32

    ProxyType

    Get the non-generic proxy type implementing ILGenerator.

    Declaration
    public static Type ProxyType { get; }
    Property Value
    Type Description
    System.Type

    The "real" ILGenerator type, non-generic.

    Methods

    BeginCatchBlock(Type)

    Declaration
    public abstract void BeginCatchBlock(Type exceptionType)
    Parameters
    Type Name Description
    System.Type exceptionType

    BeginExceptFilterBlock()

    Declaration
    public abstract void BeginExceptFilterBlock()

    BeginExceptionBlock()

    Declaration
    public abstract Label BeginExceptionBlock()
    Returns
    Type Description
    System.Reflection.Emit.Label

    BeginFaultBlock()

    Declaration
    public abstract void BeginFaultBlock()

    BeginFinallyBlock()

    Declaration
    public abstract void BeginFinallyBlock()

    BeginScope()

    Declaration
    public abstract void BeginScope()

    DeclareLocal(Type)

    Declaration
    public abstract LocalBuilder DeclareLocal(Type localType)
    Parameters
    Type Name Description
    System.Type localType
    Returns
    Type Description
    System.Reflection.Emit.LocalBuilder

    DeclareLocal(Type, Boolean)

    Declaration
    public abstract LocalBuilder DeclareLocal(Type localType, bool pinned)
    Parameters
    Type Name Description
    System.Type localType
    System.Boolean pinned
    Returns
    Type Description
    System.Reflection.Emit.LocalBuilder

    DefineLabel()

    Declaration
    public abstract Label DefineLabel()
    Returns
    Type Description
    System.Reflection.Emit.Label

    Emit(OpCode)

    Declaration
    public abstract void Emit(OpCode opcode)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode

    Emit(OpCode, Byte)

    Declaration
    public abstract void Emit(OpCode opcode, byte arg)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Byte arg

    Emit(OpCode, Double)

    Declaration
    public abstract void Emit(OpCode opcode, double arg)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Double arg

    Emit(OpCode, Int16)

    Declaration
    public abstract void Emit(OpCode opcode, short arg)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Int16 arg

    Emit(OpCode, Int32)

    Declaration
    public abstract void Emit(OpCode opcode, int arg)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Int32 arg

    Emit(OpCode, Int64)

    Declaration
    public abstract void Emit(OpCode opcode, long arg)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Int64 arg

    Emit(OpCode, ConstructorInfo)

    Declaration
    public abstract void Emit(OpCode opcode, ConstructorInfo con)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Reflection.ConstructorInfo con

    Emit(OpCode, Label)

    Declaration
    public abstract void Emit(OpCode opcode, Label label)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Reflection.Emit.Label label

    Emit(OpCode, Label[])

    Declaration
    public abstract void Emit(OpCode opcode, Label[] labels)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Reflection.Emit.Label[] labels

    Emit(OpCode, LocalBuilder)

    Declaration
    public abstract void Emit(OpCode opcode, LocalBuilder local)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Reflection.Emit.LocalBuilder local

    Emit(OpCode, SignatureHelper)

    Declaration
    public abstract void Emit(OpCode opcode, SignatureHelper signature)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Reflection.Emit.SignatureHelper signature

    Emit(OpCode, FieldInfo)

    Declaration
    public abstract void Emit(OpCode opcode, FieldInfo field)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Reflection.FieldInfo field

    Emit(OpCode, MethodInfo)

    Declaration
    public abstract void Emit(OpCode opcode, MethodInfo meth)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Reflection.MethodInfo meth

    Emit(OpCode, SByte)

    Declaration
    public abstract void Emit(OpCode opcode, sbyte arg)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.SByte arg

    Emit(OpCode, Single)

    Declaration
    public abstract void Emit(OpCode opcode, float arg)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Single arg

    Emit(OpCode, String)

    Declaration
    public abstract void Emit(OpCode opcode, string str)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.String str

    Emit(OpCode, Type)

    Declaration
    public abstract void Emit(OpCode opcode, Type cls)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Type cls

    EmitCall(OpCode, MethodInfo, Type[])

    Declaration
    public abstract void EmitCall(OpCode opcode, MethodInfo methodInfo, Type[] optionalParameterTypes)
    Parameters
    Type Name Description
    System.Reflection.Emit.OpCode opcode
    System.Reflection.MethodInfo methodInfo
    System.Type[] optionalParameterTypes

    EmitCalli(OpCode, CallingConventions, Type, Type[], Type[])

    Declaration
    public abstract 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

    EmitCalli(OpCode, CallingConvention, Type, Type[])

    Declaration
    public abstract 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

    EmitWriteLine(LocalBuilder)

    Declaration
    public abstract void EmitWriteLine(LocalBuilder localBuilder)
    Parameters
    Type Name Description
    System.Reflection.Emit.LocalBuilder localBuilder

    EmitWriteLine(FieldInfo)

    Declaration
    public abstract void EmitWriteLine(FieldInfo fld)
    Parameters
    Type Name Description
    System.Reflection.FieldInfo fld

    EmitWriteLine(String)

    Declaration
    public abstract void EmitWriteLine(string value)
    Parameters
    Type Name Description
    System.String value

    EndExceptionBlock()

    Declaration
    public abstract void EndExceptionBlock()

    EndScope()

    Declaration
    public abstract void EndScope()

    GetProxy()

    Get a "real" ILGenerator for this ILGeneratorShim.

    Declaration
    public ILGenerator GetProxy()
    Returns
    Type Description
    System.Reflection.Emit.ILGenerator

    A "real" ILGenerator.

    GetProxyType(Type)

    Get the proxy type for a given ILGeneratorShim type. The proxy type implements ILGenerator.

    Declaration
    public static Type GetProxyType(Type tShim)
    Parameters
    Type Name Description
    System.Type tShim

    The ILGeneratorShim type.

    Returns
    Type Description
    System.Type

    The "real" ILGenerator type.

    GetProxyType<TShim>()

    Get the proxy type for a given ILGeneratorShim type. The proxy type implements ILGenerator.

    Declaration
    public static Type GetProxyType<TShim>()
        where TShim : ILGeneratorShim
    Returns
    Type Description
    System.Type

    The "real" ILGenerator type.

    Type Parameters
    Name Description
    TShim

    The ILGeneratorShim type.

    MarkLabel(Label)

    Declaration
    public abstract void MarkLabel(Label loc)
    Parameters
    Type Name Description
    System.Reflection.Emit.Label loc

    ThrowException(Type)

    Declaration
    public abstract void ThrowException(Type excType)
    Parameters
    Type Name Description
    System.Type excType

    UsingNamespace(String)

    Declaration
    public abstract void UsingNamespace(string usingNamespace)
    Parameters
    Type Name Description
    System.String usingNamespace
    Back to top Yet another C# modding swiss army knife.