From 67f38e81249c458893b62f1d3339386e7fae03e4 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Fri, 12 Feb 2016 22:33:21 +0000 Subject: [PATCH] Add another interface test selecting just one base as an interface --- .../multiple_inheritance_interfaces_runme.java | 10 ++++++++++ .../test-suite/multiple_inheritance_interfaces.i | 15 ++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/Examples/test-suite/java/multiple_inheritance_interfaces_runme.java b/Examples/test-suite/java/multiple_inheritance_interfaces_runme.java index f2a9680aa..3f2b00000 100644 --- a/Examples/test-suite/java/multiple_inheritance_interfaces_runme.java +++ b/Examples/test-suite/java/multiple_inheritance_interfaces_runme.java @@ -58,6 +58,16 @@ public class multiple_inheritance_interfaces_runme { checkBaseAndInterfaces(L.class, false, "", new String[] {"IJ", "IK", "IL"}); checkBaseAndInterfaces(M.class, false, "", new String[] {"IJ", "IK", "IL"}); + checkBaseAndInterfaces(P.class, false, "", new String[] {}); + checkBaseAndInterfaces(IQ.class, true, "", new String[] {}); + checkBaseAndInterfaces(Q.class, false, "", new String[] {"IQ"}); + checkBaseAndInterfaces(R.class, false, "P", new String[] {"IQ"}); + checkBaseAndInterfaces(S.class, false, "P", new String[] {"IQ"}); + checkBaseAndInterfaces(T.class, false, "", new String[] {"IQ"}); + checkBaseAndInterfaces(U.class, false, "R", new String[] {}); + checkBaseAndInterfaces(V.class, false, "S", new String[] {}); + checkBaseAndInterfaces(W.class, false, "T", new String[] {}); + // overloaded methods check D d = new D(); d.ia(); diff --git a/Examples/test-suite/multiple_inheritance_interfaces.i b/Examples/test-suite/multiple_inheritance_interfaces.i index aec5367f6..8eb315f88 100644 --- a/Examples/test-suite/multiple_inheritance_interfaces.i +++ b/Examples/test-suite/multiple_inheritance_interfaces.i @@ -6,7 +6,6 @@ DECLARE_INTERFACE_RENAME(IA, A, IA) DECLARE_INTERFACE_RENAME(IB, B, IB) DECLARE_INTERFACE_RENAME(IC, C, IC) #endif - %inline %{ struct IA { virtual void ia() {}; @@ -30,3 +29,17 @@ struct IK : IJ {}; struct IL : IK {}; struct M : IL {}; %} + +#if defined(SWIGJAVA) || defined(SWIGCSHARP) +DECLARE_INTERFACE_RENAME(IQ, Q, IQ) +#endif +%inline %{ +struct P { virtual void p() {}; }; +struct IQ { virtual void iq() {}; }; +struct R : IQ, P {}; +struct S : P, IQ {}; +struct T : IQ {}; +struct U : R {}; +struct V : S {}; +struct W : T {}; +%}