diff options
author | Joe George <joe@zeroc.com> | 2016-07-18 14:32:13 -0400 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2016-07-21 14:09:18 -0400 |
commit | b42ec425b82eed48eebbc4dc059911fe201893ef (patch) | |
tree | 1a475024a1228fc7516a619c490df061b3098323 /objective-c/test | |
parent | ICE-7239 - Disable Ice.Warn.Dispatch for Python Ice/proxy test (diff) | |
download | ice-b42ec425b82eed48eebbc4dc059911fe201893ef.tar.bz2 ice-b42ec425b82eed48eebbc4dc059911fe201893ef.tar.xz ice-b42ec425b82eed48eebbc4dc059911fe201893ef.zip |
Fix ICE-7235 - Objective-C cross C++ objects test
Diffstat (limited to 'objective-c/test')
-rw-r--r-- | objective-c/test/Ice/objects/ObjectsTest.ice | 48 | ||||
-rw-r--r-- | objective-c/test/Ice/objects/TestI.m | 13 |
2 files changed, 53 insertions, 8 deletions
diff --git a/objective-c/test/Ice/objects/ObjectsTest.ice b/objective-c/test/Ice/objects/ObjectsTest.ice index 39e33fceca6..8f2795367a1 100644 --- a/objective-c/test/Ice/objects/ObjectsTest.ice +++ b/objective-c/test/Ice/objects/ObjectsTest.ice @@ -129,15 +129,44 @@ exception Ex }; -sequence<Object> ObjectSeq; // For Objective-C only -sequence<Object*> ObjectPrxSeq; // For Objective-C only -sequence<Base> BaseSeq; // For Objective-C only -sequence<Base*> BasePrxSeq; // For Objective-C only +class A1 +{ + string name; +}; + +class B1 +{ + A1 a1; + A1 a2; +}; + +class D1 extends B1 +{ + A1 a3; + A1 a4; +}; -dictionary<string, Object> ObjectDict; // For Objective-C only -dictionary<string, Object*> ObjectPrxDict; // For Objective-C only -dictionary<string, Base> BaseDict; // For Objective-C only -dictionary<string, Base*> BasePrxDict; // For Objective-C only +exception EBase +{ + A1 a1; + A1 a2; +}; + +exception EDerived extends EBase +{ + A1 a3; + A1 a4; +}; + +sequence<Object> ObjectSeq; // For Objective-C only +sequence<Object*> ObjectPrxSeq; // For Objective-C only +sequence<Base> BaseSeq; // For Objective-C only +sequence<Base*> BasePrxSeq; // For Objective-C only + +dictionary<string, Object> ObjectDict; // For Objective-C only +dictionary<string, Object*> ObjectPrxDict; // For Objective-C only +dictionary<string, Base> BaseDict; // For Objective-C only +dictionary<string, Base*> BasePrxDict; // For Objective-C only class Initial { @@ -155,6 +184,9 @@ class Initial I getJ(); I getH(); + D1 getD1(D1 d1); + void throwEDerived() throws EDerived; + void setI(I theI); BaseSeq opBaseSeq(BaseSeq inSeq, out BaseSeq outSeq); diff --git a/objective-c/test/Ice/objects/TestI.m b/objective-c/test/Ice/objects/TestI.m index ccf6f628928..23ac5ca093e 100644 --- a/objective-c/test/Ice/objects/TestI.m +++ b/objective-c/test/Ice/objects/TestI.m @@ -235,6 +235,19 @@ return (TestObjectsI*)[TestObjectsH h]; } +-(TestObjectsI*) getD1:(TestObjectsI*)d1 current:(ICECurrent*)current +{ + return d1; +} + +-(void) throwEDerived:(ICECurrent*)current +{ + @throw [TestObjectsEDerived eDerived:[TestObjectsA1 a1:@"a1"] + a2:[TestObjectsA1 a1:@"a2"] + a3:[TestObjectsA1 a1:@"a3"] + a4:[TestObjectsA1 a1:@"a4"]]; +} + -(TestObjectsBaseSeq*) opBaseSeq:(TestObjectsMutableBaseSeq*)inSeq outSeq:(TestObjectsBaseSeq**)outSeq current:(ICECurrent*)current { |