summaryrefslogtreecommitdiff
path: root/js/test/Ice/inheritanceBidir/Test.ice
diff options
context:
space:
mode:
Diffstat (limited to 'js/test/Ice/inheritanceBidir/Test.ice')
-rw-r--r--js/test/Ice/inheritanceBidir/Test.ice241
1 files changed, 241 insertions, 0 deletions
diff --git a/js/test/Ice/inheritanceBidir/Test.ice b/js/test/Ice/inheritanceBidir/Test.ice
new file mode 100644
index 00000000000..09b3d2f6d19
--- /dev/null
+++ b/js/test/Ice/inheritanceBidir/Test.ice
@@ -0,0 +1,241 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#pragma once
+
+module Test
+{
+
+module MA
+{
+
+interface IA
+{
+ IA* iaop(IA* p);
+};
+
+class CA
+{
+ CA* caop(CA* p);
+};
+
+};
+
+module MB
+{
+
+interface IB1 extends MA::IA
+{
+ IB1* ib1op(IB1* p);
+};
+
+interface IB2 extends MA::IA
+{
+ IB2* ib2op(IB2* p);
+};
+
+class CB extends MA::CA
+{
+ CB* cbop(CB* p);
+};
+
+};
+
+module MA
+{
+
+interface IC extends MB::IB1, MB::IB2
+{
+ IC* icop(IC* p);
+};
+
+class CC extends MB::CB
+{
+ CC* ccop(CC* p);
+};
+
+class CD extends CC implements MB::IB1, MB::IB2
+{
+ CD* cdop(CD* p);
+};
+
+};
+
+interface Initial
+{
+ void shutdown();
+ MA::CA* caop();
+ MB::CB* cbop();
+ MA::CC* ccop();
+ MA::CD* cdop();
+ MA::IA* iaop();
+ MB::IB1* ib1op();
+ MB::IB2* ib2op();
+ MA::IC* icop();
+};
+
+
+module MC
+{
+
+class A
+{
+ int aA;
+};
+
+class B extends A
+{
+ int bB;
+};
+
+class C extends B
+{
+ int cC;
+};
+
+class D extends C
+{
+ int dD;
+};
+
+};
+
+module MD
+{
+
+class A
+{
+ int aA;
+};
+
+class B extends A
+{
+ int bB;
+};
+
+class C extends B
+{
+ int cC;
+};
+
+class D extends C
+{
+ int dD;
+};
+
+};
+
+module ME
+{
+
+class A
+{
+ int aA;
+};
+
+class B extends A
+{
+ int bB;
+};
+
+class C extends B
+{
+ int cC;
+};
+
+class D extends C
+{
+ int dD;
+};
+
+};
+
+module MF
+{
+
+class A
+{
+ int aA;
+};
+
+class B extends A
+{
+ int bB;
+};
+
+class C extends B
+{
+ int cC;
+};
+
+class D extends C
+{
+ int dD;
+};
+
+};
+
+module MG
+{
+
+class A
+{
+ int aA;
+};
+
+class B extends A
+{
+ int bB;
+};
+
+class C extends B
+{
+ int cC;
+};
+
+class D extends C
+{
+ int dD;
+};
+
+};
+
+module MH
+{
+
+class A
+{
+ int aA;
+};
+
+class B extends A
+{
+ int bB;
+};
+
+class C extends B
+{
+ int cC;
+};
+
+class D extends C
+{
+ int dD;
+};
+
+};
+
+interface Echo
+{
+ void startBatch();
+ void flushBatch();
+ void shutdown();
+};
+
+};