From 28993b43a15a22de944994cd22482cb9584c36a7 Mon Sep 17 00:00:00 2001 From: Kuba Ober Date: Thu, 29 Aug 2019 12:38:13 -0400 Subject: [PATCH] Test forward-inherited types. --- .../Properties/Resources.Designer.cs | 10 ++++++++++ capnpc-csharp.tests/Properties/Resources.resx | 3 +++ .../Resources/UnitTest2.capnp.bin | Bin 0 -> 2608 bytes capnpc-csharp.tests/UnitTest2.capnp | 11 +++++++++++ capnpc-csharp.tests/UnitTests.cs | 9 +++++++++ 5 files changed, 33 insertions(+) create mode 100644 capnpc-csharp.tests/Resources/UnitTest2.capnp.bin create mode 100644 capnpc-csharp.tests/UnitTest2.capnp diff --git a/capnpc-csharp.tests/Properties/Resources.Designer.cs b/capnpc-csharp.tests/Properties/Resources.Designer.cs index a67166c..6840817 100644 --- a/capnpc-csharp.tests/Properties/Resources.Designer.cs +++ b/capnpc-csharp.tests/Properties/Resources.Designer.cs @@ -69,5 +69,15 @@ namespace capnpc_csharp.Tests.Properties { return ((byte[])(obj)); } } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] UnitTest2_capnp { + get { + object obj = ResourceManager.GetObject("UnitTest2_capnp", resourceCulture); + return ((byte[])(obj)); + } + } } } diff --git a/capnpc-csharp.tests/Properties/Resources.resx b/capnpc-csharp.tests/Properties/Resources.resx index bc2d6ee..a67f487 100644 --- a/capnpc-csharp.tests/Properties/Resources.resx +++ b/capnpc-csharp.tests/Properties/Resources.resx @@ -118,6 +118,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\UnitTest2.capnp.bin;System.Byte[], mscorlib, 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 diff --git a/capnpc-csharp.tests/Resources/UnitTest2.capnp.bin b/capnpc-csharp.tests/Resources/UnitTest2.capnp.bin new file mode 100644 index 0000000000000000000000000000000000000000..5a2eafcc0b95779d73149763083f37b1cf4e79de GIT binary patch literal 2608 zcmcguOK4L;6rI<^exzcpiXx>!aiNO@nvJxZO0|N5puq}N5JQ`4p-oE?by)~*{DJsc zq=Mo?cOou|C{z%Hu8L4lv`81?LKh+~>c$VA^XA=`m+6~45p=@Lo%@-4&)k{0FG?xZ z?_h9ST&)8=7gOqUT&V=+Ad2cMm`s5x)#Q#lFs@RKYOwRti65QuZ>wFYeYguJWvK6g z?y{Ttn#SIR%d^*~%WaSVjvvQ2z=XISVORv61=Yy3#S@PY(zQ@kUhZjY{XVm_1#_;i zw%}@|9zfYwYfv=}nLRz5T%j37-c-{4zhiA$~`%P4Di$m3VFXt=+9s z&nm3N^lRc}9x@?#nb$D9mHSsykKZi6GyR%)TN=XiV8i?N{luNk z9Wx)J?!z*0Ey9Td|G^Xe2|4*7<$aiX_VDDVUmsTBHS_Ql>%;Oue_?q@Hm@&Vygm1& z9$xPCAaE{#4jOm|z|TQGZ_4wdr6ajwDV-Y1PUa_7D{LJ6`<-?N;IF>Y?V)I!9Z=?9^c+uPb=bJi=i^Gk!Sr74e!KJ&)(`UHJ&S-o*3SK zC|k&m7geNPCRaQ&Rw}w-Ffd-si>hTBljzrAvP~G!X7m_vZUAin%@$6%+IDxe4>o-i z-Y(gg=Q`THc7uPrzrBbT+#l}&o7@}C$*4~<0haN&&a`7zH+gzm2eZt4+VX=XZj<=J z3ysQ0`cL!c-COzE6>BU`|sxw07!JKLy}*r$9w-IEl{nD3@-N?~v5@t&rARzY%(_*VV^$fx+>3uW0$a zTrQ24`)B=d5MAo7c;HIDBl({sa-rtC+6e`5nCDCUl-nBfU(KG)O0ui#GVuy7R_ro* O3p(Q%?*I~dchqksG(Y12 literal 0 HcmV?d00001 diff --git a/capnpc-csharp.tests/UnitTest2.capnp b/capnpc-csharp.tests/UnitTest2.capnp new file mode 100644 index 0000000..e4cbcb9 --- /dev/null +++ b/capnpc-csharp.tests/UnitTest2.capnp @@ -0,0 +1,11 @@ +@0xf6041efc5e8b1e59; + +interface Interface1(V1) {} + +interface Interface { + method @0 () -> (arg : AnyPointer); + method1 @1 () -> (arg : Interface1(AnyPointer)); + method2 @2 () -> (arg : Interface2(AnyPointer)); +} + +interface Interface2(V2) {} diff --git a/capnpc-csharp.tests/UnitTests.cs b/capnpc-csharp.tests/UnitTests.cs index 2d4ea6b..dd37864 100644 --- a/capnpc-csharp.tests/UnitTests.cs +++ b/capnpc-csharp.tests/UnitTests.cs @@ -31,6 +31,15 @@ namespace CapnpC Assert.AreNotEqual(structFoo.Name, fieldName); } + [TestMethod] + public void Test02ForwardInheritance() + { + var model = Load(Resources.UnitTest2_capnp); + var codeGen = NewGeneratorFor(model); + codeGen.Transform(model.FilesToGenerate.First()); + // Should not throw + } + static Generator.CodeGenerator NewGeneratorFor(Model.SchemaModel model) => new Generator.CodeGenerator(model, new Generator.GeneratorOptions());