Skip to content

GenerateSerializerSourceCodes may needs generate NullableSerializer #121

@neuecc

Description

@neuecc

ReflectionSerialize + IL2CPP is maybe very difficult ( #99 ) but pre-generated serializer have some possibility.
I'm trying GenerateSerializerSourceCodes + IL2CPP but I've encount ExecutionEngineException yet.

ExecutionEngineException: Attempting to call method 'MsgPack.Serialization.SerializationContext::GetSerializer' for which no ahead of time (AOT) code was generated.
on
MyPreGeneratedSerializer..ctor (MsgPack.Serialization.SerializationContext context)

ctor have Nullable code.

this._serializer0 = context.GetSerializer<int>(schema0);
this._serializer1 = context.GetSerializer<System.Nullable<System.DateTime>>(MsgPack.Serialization.DateTimeMessagePackSerializerHelpers.Determine
this._serializer2 = context.GetSerializer<System.Nullable<MyProject.Enums.MyEnum1>>(schema1);
this._serializer3 = context.GetSerializer<MyProject.Enums.MyEnum2>(MsgPack.Serialization.EnumMessagePackSerializerHelpers.DetermineEnumSerializationMethod(context, typeof(Orange.Share.Enums.GilShopLimitedItemResetType), MsgPack.Serialization.EnumMemberSerializationMethod.Default));
this._serializer4 = context.GetSerializer<System.Nullable<MyProject.Enums.MyEnum3>>(schema2);

I think nullable cause ExecutionEngineException and if pre-generated nullable serialization code can avoid it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementRequires or request to feature enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions