From 4411cd90d0eb32a150da1b11a43d66cd28fc986b Mon Sep 17 00:00:00 2001 From: Kuba Ober Date: Thu, 29 Aug 2019 01:36:47 -0400 Subject: [PATCH] Test renaming of enumerants that are C# keywords. --- .../Properties/Resources.Designer.cs | 10 ++++ capnpc-csharp.tests/Properties/Resources.resx | 3 + .../Resources/UnitTest1.capnp.bin | Bin 0 -> 504 bytes capnpc-csharp.tests/UnitTest1.capnp | 5 ++ capnpc-csharp.tests/UnitTests.cs | 55 ++++++++++++++++++ .../capnpc-csharp.tests.csproj | 1 + 6 files changed, 74 insertions(+) create mode 100644 capnpc-csharp.tests/Resources/UnitTest1.capnp.bin create mode 100644 capnpc-csharp.tests/UnitTest1.capnp create mode 100644 capnpc-csharp.tests/UnitTests.cs diff --git a/capnpc-csharp.tests/Properties/Resources.Designer.cs b/capnpc-csharp.tests/Properties/Resources.Designer.cs index d7a8a0c..a67166c 100644 --- a/capnpc-csharp.tests/Properties/Resources.Designer.cs +++ b/capnpc-csharp.tests/Properties/Resources.Designer.cs @@ -59,5 +59,15 @@ namespace capnpc_csharp.Tests.Properties { resourceCulture = value; } } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] UnitTest1_capnp { + get { + object obj = ResourceManager.GetObject("UnitTest1_capnp", resourceCulture); + return ((byte[])(obj)); + } + } } } diff --git a/capnpc-csharp.tests/Properties/Resources.resx b/capnpc-csharp.tests/Properties/Resources.resx index 2f96abe..bc2d6ee 100644 --- a/capnpc-csharp.tests/Properties/Resources.resx +++ b/capnpc-csharp.tests/Properties/Resources.resx @@ -118,4 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\UnitTest1.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/capnpc-csharp.tests/Resources/UnitTest1.capnp.bin b/capnpc-csharp.tests/Resources/UnitTest1.capnp.bin new file mode 100644 index 0000000000000000000000000000000000000000..b6ecdf86c135d4d5dd551f83024cfd2a695e39e4 GIT binary patch literal 504 zcmZQzU|_HVVhCVi5Ck%|1Mx*5mIq=MAZ7&Or9f;B#0(7VV3Gq!vNEtS_;}rzbMeUK z$y{Jj+=L@gstJf)fmj^3GPul@ubfBHCEQL307aO97-kP#0hD0~q%Q%nEf7Oo29dA? zQXu!EgV4Opl91Hm5<|V@#Dcs6sQ(xlVD^Fh8U)0yd8N6jMTvPOPy^8PS)t2=lraJ! zB)mW_h5%L|r3K>v>7>e%R1g;wevCk$;qn*EJs`Cp0CE>U5QEHz@W2eXeK2!C_JP8g P6No|Kf#z f.NestedTypes)) + { + if (GetTypeDef(id, defs) is Model.TypeDefinition def) return def; + } + return null; + } + + static Model.TypeDefinition GetTypeDef(ulong id, IEnumerable defs) + { + foreach (var def in defs) + { + if (def.Id == id) return def; + var sub = GetTypeDef(id, def.NestedTypes); + if (sub != null) return sub; + } + return null; + } + + static Model.SchemaModel Load(byte[] data) + { + WireFrame segments; + var input = new MemoryStream(data); + using (input) + { + segments = Framing.ReadSegments(input); + } + var dec = DeserializerState.CreateRoot(segments); + var reader = Schema.CodeGeneratorRequest.Reader.Create(dec); + var model = Model.SchemaModel.Create(reader); + return model; + } + } +} diff --git a/capnpc-csharp.tests/capnpc-csharp.tests.csproj b/capnpc-csharp.tests/capnpc-csharp.tests.csproj index a8047be..3be689f 100644 --- a/capnpc-csharp.tests/capnpc-csharp.tests.csproj +++ b/capnpc-csharp.tests/capnpc-csharp.tests.csproj @@ -19,6 +19,7 @@ +