diff options
author | Jose <jose@zeroc.com> | 2015-11-19 00:07:54 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2015-11-19 00:07:54 +0100 |
commit | 3be880f1d7bf57deac92aff2a9844e85e4573c09 (patch) | |
tree | 5bc9443d4a8ccf004c809bb638fc690949e4fb89 /java | |
parent | Removed old monotonic clock links (diff) | |
download | ice-3be880f1d7bf57deac92aff2a9844e85e4573c09.tar.bz2 ice-3be880f1d7bf57deac92aff2a9844e85e4573c09.tar.xz ice-3be880f1d7bf57deac92aff2a9844e85e4573c09.zip |
Fixed bug in Java/C# class data member generated patcher
Diffstat (limited to 'java')
-rw-r--r-- | java/test/src/main/java/test/Ice/objects/AllTests.java | 30 | ||||
-rw-r--r-- | java/test/src/main/java/test/Ice/objects/InitialI.java | 17 | ||||
-rw-r--r-- | java/test/src/main/java/test/Ice/objects/Test.ice | 34 |
3 files changed, 80 insertions, 1 deletions
diff --git a/java/test/src/main/java/test/Ice/objects/AllTests.java b/java/test/src/main/java/test/Ice/objects/AllTests.java index a8b60f0ab42..65b30df0eee 100644 --- a/java/test/src/main/java/test/Ice/objects/AllTests.java +++ b/java/test/src/main/java/test/Ice/objects/AllTests.java @@ -21,6 +21,10 @@ import test.Ice.objects.Test.E; import test.Ice.objects.Test.F; import test.Ice.objects.Test.H; import test.Ice.objects.Test.I; +import test.Ice.objects.Test.A1; +import test.Ice.objects.Test.B1; +import test.Ice.objects.Test.D1; +import test.Ice.objects.Test.EDerived; import test.Ice.objects.Test.Base; import test.Ice.objects.Test.S; import test.Ice.objects.Test.BaseSeqHolder; @@ -192,6 +196,32 @@ public class AllTests I h = initial.getH(); test(h != null && ((H)h) != null); out.println("ok"); + + out.print("getting D1... "); + out.flush(); + D1 d1 = new D1(new A1("a1"), new A1("a2"), new A1("a3"), new A1("a4")); + d1 = initial.getD1(d1); + test(d1.a1.name.equals("a1")); + test(d1.a2.name.equals("a2")); + test(d1.a3.name.equals("a3")); + test(d1.a4.name.equals("a4")); + out.println("ok"); + + out.print("throw EDerived... "); + out.flush(); + try + { + initial.throwEDerived(); + test(false); + } + catch(EDerived ederived) + { + test(ederived.a1.name.equals("a1")); + test(ederived.a2.name.equals("a2")); + test(ederived.a3.name.equals("a3")); + test(ederived.a4.name.equals("a4")); + } + out.println("ok"); out.print("setting I... "); out.flush(); diff --git a/java/test/src/main/java/test/Ice/objects/InitialI.java b/java/test/src/main/java/test/Ice/objects/InitialI.java index 36da7c51983..b9ac96a4d32 100644 --- a/java/test/src/main/java/test/Ice/objects/InitialI.java +++ b/java/test/src/main/java/test/Ice/objects/InitialI.java @@ -18,6 +18,9 @@ import test.Ice.objects.Test.DHolder; import test.Ice.objects.Test.E; import test.Ice.objects.Test.F; import test.Ice.objects.Test.I; +import test.Ice.objects.Test.A1; +import test.Ice.objects.Test.D1; +import test.Ice.objects.Test.EDerived; import test.Ice.objects.Test.Base; import test.Ice.objects.Test.BaseSeqHolder; import test.Ice.objects.Test.Initial; @@ -141,6 +144,20 @@ public final class InitialI extends Initial { return new HI(); } + + @Override + public D1 + getD1(D1 d1, Ice.Current current) + { + return d1; + } + + @Override + public void + throwEDerived(Ice.Current current) throws EDerived + { + throw new EDerived(new A1("a1"), new A1("a2"), new A1("a3"), new A1("a4")); + } @Override public void diff --git a/java/test/src/main/java/test/Ice/objects/Test.ice b/java/test/src/main/java/test/Ice/objects/Test.ice index a67d245a4ea..a6ff714ca6a 100644 --- a/java/test/src/main/java/test/Ice/objects/Test.ice +++ b/java/test/src/main/java/test/Ice/objects/Test.ice @@ -136,6 +136,35 @@ exception Ex }; +class A1 +{ + string name; +}; + +class B1 +{ + A1 a1; + A1 a2; +}; + +class D1 extends B1 +{ + A1 a3; + A1 a4; +}; + +exception EBase +{ + A1 a1; + A1 a2; +}; + +exception EDerived extends EBase +{ + A1 a3; + A1 a4; +}; + class Initial { void shutdown(); @@ -151,7 +180,10 @@ class Initial I getI(); I getJ(); I getH(); - + + D1 getD1(D1 d1); + void throwEDerived() throws EDerived; + void setI(I theI); BaseSeq opBaseSeq(BaseSeq inSeq, out BaseSeq outSeq); |