diff options
-rw-r--r-- | cs/test/Ice/objects/InitialI.cs | 48 | ||||
-rw-r--r-- | cs/test/Ice/objects/Test.ice | 38 | ||||
-rw-r--r-- | java/test/Ice/objects/InitialI.java | 29 | ||||
-rw-r--r-- | java/test/Ice/objects/Test.ice | 38 |
4 files changed, 137 insertions, 16 deletions
diff --git a/cs/test/Ice/objects/InitialI.cs b/cs/test/Ice/objects/InitialI.cs index 8a1573bcefe..756968570f0 100644 --- a/cs/test/Ice/objects/InitialI.cs +++ b/cs/test/Ice/objects/InitialI.cs @@ -20,22 +20,22 @@ public sealed class InitialI : Initial _d = new DI(); _e = new EI(); _f = new FI(_e); - + _b1.theA = _b2; // Cyclic reference to another B _b1.theB = _b1; // Self reference. _b1.theC = null; // Null reference. - + _b2.theA = _b2; // Self reference, using base. _b2.theB = _b1; // Cyclic reference to another B _b2.theC = _c; // Cyclic reference to a C. - + _c.theB = _b2; // Cyclic reference to a B. - + _d.theA = _b1; // Reference to a B. _d.theB = _b2; // Reference to a B. _d.theC = null; // Reference to a C. } - + public override void getAll(out B b1, out B b2, out C c, out D d, Ice.Current current) { b1 = _b1; @@ -43,17 +43,17 @@ public sealed class InitialI : Initial c = _c; d = _d; } - + public override B getB1(Ice.Current current) { return _b1; } - + public override B getB2(Ice.Current current) { return _b2; } - + public override C getC(Ice.Current current) { return _c; @@ -73,17 +73,17 @@ public sealed class InitialI : Initial { return _f; } - + public override I getI(Ice.Current current) { return new II(); } - + public override I getJ(Ice.Current current) { return new JI(); } - + public override I getH(Ice.Current current) { return new HI(); @@ -92,7 +92,7 @@ public sealed class InitialI : Initial public override void setI(I theI, Ice.Current current) { } - + public override Base[] opBaseSeq(Base[] inS, out Base[] outS, Ice.Current current) { outS = inS; @@ -108,7 +108,29 @@ public sealed class InitialI : Initial { _adapter.getCommunicator().shutdown(); } - + + public override Test.Inner.A + getInnerA(Ice.Current current) + { + return new Test.Inner.A(_b1); + } + + public override Test.Inner.Sub.A + getInnerSubA(Ice.Current current) + { + return new Test.Inner.Sub.A(new Test.Inner.A(_b1)); + } + + public override void throwInnerEx(Ice.Current current) + { + throw new Test.Inner.Ex("Inner::Ex"); + } + + public override void throwInnerSubEx(Ice.Current current) + { + throw new Test.Inner.Sub.Ex("Inner::Sub::Ex"); + } + private Ice.ObjectAdapter _adapter; private B _b1; private B _b2; diff --git a/cs/test/Ice/objects/Test.ice b/cs/test/Ice/objects/Test.ice index 51bad251fd7..ddcc2b44dc8 100644 --- a/cs/test/Ice/objects/Test.ice +++ b/cs/test/Ice/objects/Test.ice @@ -57,7 +57,7 @@ class D { A theA; B theB; - C theC; + C theC; bool preMarshalInvoked; bool postUnmarshalInvoked(); @@ -105,6 +105,36 @@ class CompactExt(CompactExtId) extends Compact { }; +module Inner +{ + +class A +{ + ::Test::A theA; +}; + +exception Ex +{ + string reason; +}; + +module Sub +{ + +class A +{ + ::Test::Inner::A theA; +}; + +exception Ex +{ + string reason; +}; + +}; + +}; + class Initial { void shutdown(); @@ -126,6 +156,12 @@ class Initial BaseSeq opBaseSeq(BaseSeq inSeq, out BaseSeq outSeq); Compact getCompact(); + + Inner::A getInnerA(); + Inner::Sub::A getInnerSubA(); + + void throwInnerEx() throws Inner::Ex; + void throwInnerSubEx() throws Inner::Sub::Ex; }; class Empty diff --git a/java/test/Ice/objects/InitialI.java b/java/test/Ice/objects/InitialI.java index 2678d597cce..eaa1be7785b 100644 --- a/java/test/Ice/objects/InitialI.java +++ b/java/test/Ice/objects/InitialI.java @@ -24,7 +24,6 @@ import test.Ice.objects.Test.Initial; import test.Ice.objects.Test.Compact; import test.Ice.objects.Test.CompactExt; - public final class InitialI extends Initial { public @@ -165,6 +164,34 @@ public final class InitialI extends Initial } @Override + public test.Ice.objects.Test.Inner.A + getInnerA(Ice.Current current) + { + return new test.Ice.objects.Test.Inner.A(_b1); + } + + @Override + public test.Ice.objects.Test.Inner.Sub.A + getInnerSubA(Ice.Current current) + { + return new test.Ice.objects.Test.Inner.Sub.A(new test.Ice.objects.Test.Inner.A(_b1)); + } + + @Override + public void throwInnerEx(Ice.Current current) + throws test.Ice.objects.Test.Inner.Ex + { + throw new test.Ice.objects.Test.Inner.Ex("Inner::Ex"); + } + + @Override + public void throwInnerSubEx(Ice.Current current) + throws test.Ice.objects.Test.Inner.Sub.Ex + { + throw new test.Ice.objects.Test.Inner.Sub.Ex("Inner::Sub::Ex"); + } + + @Override public void shutdown(Ice.Current current) { diff --git a/java/test/Ice/objects/Test.ice b/java/test/Ice/objects/Test.ice index 4d195499d65..d4644b11a64 100644 --- a/java/test/Ice/objects/Test.ice +++ b/java/test/Ice/objects/Test.ice @@ -58,7 +58,7 @@ class D { A theA; B theB; - C theC; + C theC; bool preMarshalInvoked; bool postUnmarshalInvoked(); @@ -106,6 +106,36 @@ class CompactExt(CompactExtId) extends Compact { }; +module Inner +{ + +class A +{ + ::Test::A theA; +}; + +exception Ex +{ + string reason; +}; + +module Sub +{ + +class A +{ + ::Test::Inner::A theA; +}; + +exception Ex +{ + string reason; +}; + +}; + +}; + class Initial { void shutdown(); @@ -127,6 +157,12 @@ class Initial BaseSeq opBaseSeq(BaseSeq inSeq, out BaseSeq outSeq); Compact getCompact(); + + Inner::A getInnerA(); + Inner::Sub::A getInnerSubA(); + + void throwInnerEx() throws Inner::Ex; + void throwInnerSubEx() throws Inner::Sub::Ex; }; class Empty |