|
@ -49,8 +49,6 @@ namespace IPA.Config.Stores |
|
|
|
|
|
|
|
|
var GetLocal = MakeLocalAllocator(il); |
|
|
var GetLocal = MakeLocalAllocator(il); |
|
|
|
|
|
|
|
|
EmitLogError(il, $"Entered SerializeType delegate for type {type}"); |
|
|
|
|
|
|
|
|
|
|
|
if (!type.IsValueType) |
|
|
if (!type.IsValueType) |
|
|
{ |
|
|
{ |
|
|
var notIGeneratedStore = il.DefineLabel(); |
|
|
var notIGeneratedStore = il.DefineLabel(); |
|
@ -69,7 +67,6 @@ namespace IPA.Config.Stores |
|
|
il.MarkLabel(notIGeneratedStore); |
|
|
il.MarkLabel(notIGeneratedStore); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
EmitLogError(il, $"Serializing structure of {type}"); |
|
|
|
|
|
EmitSerializeStructure(il, structure, GetLocal, loadObject, loadParent); |
|
|
EmitSerializeStructure(il, structure, GetLocal, loadObject, loadParent); |
|
|
|
|
|
|
|
|
il.Emit(OpCodes.Ret); |
|
|
il.Emit(OpCodes.Ret); |
|
@ -116,11 +113,8 @@ namespace IPA.Config.Stores |
|
|
il.Emit(OpCodes.Isinst, IGeneratedStore_t); |
|
|
il.Emit(OpCodes.Isinst, IGeneratedStore_t); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
EmitLogError(il, $"Entered DeserializeType delegate for type {type}"); |
|
|
|
|
|
|
|
|
|
|
|
if (!type.IsValueType) |
|
|
if (!type.IsValueType) |
|
|
{ |
|
|
{ |
|
|
EmitLogError(il, $"Forwarding to created type serialization"); |
|
|
|
|
|
EmitCreateChildGenerated(il, type, ParentObj); |
|
|
EmitCreateChildGenerated(il, type, ParentObj); |
|
|
il.Emit(OpCodes.Dup); |
|
|
il.Emit(OpCodes.Dup); |
|
|
il.Emit(OpCodes.Castclass, IGeneratedStore_t); |
|
|
il.Emit(OpCodes.Castclass, IGeneratedStore_t); |
|
@ -140,8 +134,6 @@ namespace IPA.Config.Stores |
|
|
|
|
|
|
|
|
var nonNull = il.DefineLabel(); |
|
|
var nonNull = il.DefineLabel(); |
|
|
|
|
|
|
|
|
EmitLogError(il, $"Deserializing structure of {type}"); |
|
|
|
|
|
|
|
|
|
|
|
il.Emit(OpCodes.Ldarg_0); |
|
|
il.Emit(OpCodes.Ldarg_0); |
|
|
il.Emit(OpCodes.Brtrue, nonNull); |
|
|
il.Emit(OpCodes.Brtrue, nonNull); |
|
|
|
|
|
|
|
|