diff options
-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 { |