Fix verification for C# unions (#7970)

* Fix verification for unions

* Run scripts\generate_code.py

---------

Co-authored-by: Michael Le <michael.le647@gmail.com>
This commit is contained in:
Curt Hagenlocher
2023-09-30 18:54:48 -07:00
committed by GitHub
parent 1fdb5d263a
commit f4e23bf91e
13 changed files with 248 additions and 217 deletions

View File

@@ -50,40 +50,6 @@ public class CharacterUnion {
}
}
static public class CharacterVerify
{
static public bool Verify(Google.FlatBuffers.Verifier verifier, byte typeId, uint tablePos)
{
bool result = true;
switch((Character)typeId)
{
case Character.MuLan:
result = AttackerVerify.Verify(verifier, tablePos);
break;
case Character.Rapunzel:
result = verifier.VerifyUnionData(tablePos, 4, 4);
break;
case Character.Belle:
result = verifier.VerifyUnionData(tablePos, 4, 4);
break;
case Character.BookFan:
result = verifier.VerifyUnionData(tablePos, 4, 4);
break;
case Character.Other:
result = verifier.VerifyUnionString(tablePos);
break;
case Character.Unused:
result = verifier.VerifyUnionString(tablePos);
break;
default: result = true;
break;
}
return result;
}
}
public class CharacterUnion_JsonConverter : Newtonsoft.Json.JsonConverter {
public override bool CanConvert(System.Type objectType) {
return objectType == typeof(CharacterUnion) || objectType == typeof(System.Collections.Generic.List<CharacterUnion>);
@@ -130,3 +96,37 @@ public class CharacterUnion_JsonConverter : Newtonsoft.Json.JsonConverter {
}
}
static public class CharacterVerify
{
static public bool Verify(Google.FlatBuffers.Verifier verifier, byte typeId, uint tablePos)
{
bool result = true;
switch((Character)typeId)
{
case Character.MuLan:
result = AttackerVerify.Verify(verifier, tablePos);
break;
case Character.Rapunzel:
result = verifier.VerifyUnionData(tablePos, 4, 4);
break;
case Character.Belle:
result = verifier.VerifyUnionData(tablePos, 4, 4);
break;
case Character.BookFan:
result = verifier.VerifyUnionData(tablePos, 4, 4);
break;
case Character.Other:
result = verifier.VerifyUnionString(tablePos);
break;
case Character.Unused:
result = verifier.VerifyUnionString(tablePos);
break;
default: result = true;
break;
}
return result;
}
}

View File

@@ -34,28 +34,6 @@ public class GadgetUnion {
}
}
static public class GadgetVerify
{
static public bool Verify(Google.FlatBuffers.Verifier verifier, byte typeId, uint tablePos)
{
bool result = true;
switch((Gadget)typeId)
{
case Gadget.FallingTub:
result = verifier.VerifyUnionData(tablePos, 4, 4);
break;
case Gadget.HandFan:
result = HandFanVerify.Verify(verifier, tablePos);
break;
default: result = true;
break;
}
return result;
}
}
public class GadgetUnion_JsonConverter : Newtonsoft.Json.JsonConverter {
public override bool CanConvert(System.Type objectType) {
return objectType == typeof(GadgetUnion) || objectType == typeof(System.Collections.Generic.List<GadgetUnion>);
@@ -98,3 +76,25 @@ public class GadgetUnion_JsonConverter : Newtonsoft.Json.JsonConverter {
}
}
static public class GadgetVerify
{
static public bool Verify(Google.FlatBuffers.Verifier verifier, byte typeId, uint tablePos)
{
bool result = true;
switch((Gadget)typeId)
{
case Gadget.FallingTub:
result = verifier.VerifyUnionData(tablePos, 4, 4);
break;
case Gadget.HandFan:
result = HandFanVerify.Verify(verifier, tablePos);
break;
default: result = true;
break;
}
return result;
}
}