mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-10 15:16:28 +00:00
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:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user