C# Class Castle.DynamicProxy.Generators.Emitters.OpCodeUtil

Show file Open project: Jarvin-Guan/CleanAOP

Public Methods

Method Description
EmitLoadIndirectOpCodeForType ( ILGenerator gen, Type type ) : void

Emits a load indirect opcode of the appropriate type for a value or object reference. Pops a pointer off the evaluation stack, dereferences it and loads a value of the specified type.

EmitLoadOpCodeForConstantValue ( ILGenerator gen, object value ) : void

Emits a load opcode of the appropriate kind for a constant string or primitive value.

EmitLoadOpCodeForDefaultValueOfType ( ILGenerator gen, Type type ) : void

Emits a load opcode of the appropriate kind for the constant default value of a type, such as 0 for value types and null for reference types.

EmitStoreIndirectOpCodeForType ( ILGenerator gen, Type type ) : void

Emits a store indirectopcode of the appropriate type for a value or object reference. Pops a value of the specified type and a pointer off the evaluation stack, and stores the value.

Private Methods

Method Description
GetUnderlyingTypeOfEnum ( Type enumType ) : Type
Is64BitTypeLoadedAsInt32 ( Type type ) : bool

Method Details

EmitLoadIndirectOpCodeForType() public static method

Emits a load indirect opcode of the appropriate type for a value or object reference. Pops a pointer off the evaluation stack, dereferences it and loads a value of the specified type.
public static EmitLoadIndirectOpCodeForType ( ILGenerator gen, Type type ) : void
gen System.Reflection.Emit.ILGenerator
type System.Type
return void

EmitLoadOpCodeForConstantValue() public static method

Emits a load opcode of the appropriate kind for a constant string or primitive value.
public static EmitLoadOpCodeForConstantValue ( ILGenerator gen, object value ) : void
gen System.Reflection.Emit.ILGenerator
value object
return void

EmitLoadOpCodeForDefaultValueOfType() public static method

Emits a load opcode of the appropriate kind for the constant default value of a type, such as 0 for value types and null for reference types.
public static EmitLoadOpCodeForDefaultValueOfType ( ILGenerator gen, Type type ) : void
gen System.Reflection.Emit.ILGenerator
type System.Type
return void

EmitStoreIndirectOpCodeForType() public static method

Emits a store indirectopcode of the appropriate type for a value or object reference. Pops a value of the specified type and a pointer off the evaluation stack, and stores the value.
public static EmitStoreIndirectOpCodeForType ( ILGenerator gen, Type type ) : void
gen System.Reflection.Emit.ILGenerator
type System.Type
return void