-Fix dynamic code generation IL verification issues in .NET 4
This commit is contained in:
@@ -183,18 +183,24 @@ namespace Newtonsoft.Json.Utilities
|
||||
generator.Emit(OpCodes.Ldarg_0);
|
||||
if (type.IsValueType)
|
||||
generator.Emit(OpCodes.Unbox, type);
|
||||
else
|
||||
generator.Emit(OpCodes.Castclass, type);
|
||||
}
|
||||
|
||||
static void BoxIfNeeded(this ILGenerator generator, Type type)
|
||||
{
|
||||
if (type.IsValueType)
|
||||
generator.Emit(OpCodes.Box, type);
|
||||
else
|
||||
generator.Emit(OpCodes.Castclass, type);
|
||||
}
|
||||
|
||||
static void UnboxIfNeeded(this ILGenerator generator, Type type)
|
||||
{
|
||||
if (type.IsValueType)
|
||||
generator.Emit(OpCodes.Unbox_Any, type);
|
||||
else
|
||||
generator.Emit(OpCodes.Castclass, type);
|
||||
}
|
||||
|
||||
public static Func<T, object> CreateGet<T>(FieldInfo fieldInfo)
|
||||
|
||||
Reference in New Issue
Block a user