summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-07-11 16:50:33 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-07-11 16:50:33 +0000
commit7c9eb1c48bfa7fa74d6df59e0dba615445e5d0c4 (patch)
tree12ee13a74a228dd71a584986b688fefcf0c75c6b
parentabad303e6389f67a86e325900b85dc86bad188c1 (diff)
downloadATCD-7c9eb1c48bfa7fa74d6df59e0dba615445e5d0c4.tar.gz
Added two new examples.
-rw-r--r--TAO/tests/IDL_Test/reopened_modules.idl82
1 files changed, 82 insertions, 0 deletions
diff --git a/TAO/tests/IDL_Test/reopened_modules.idl b/TAO/tests/IDL_Test/reopened_modules.idl
index b0a27db9c42..aff703bd2b5 100644
--- a/TAO/tests/IDL_Test/reopened_modules.idl
+++ b/TAO/tests/IDL_Test/reopened_modules.idl
@@ -22,6 +22,10 @@
// These examples test the lookup abilities of the
// TAO IDL compiler, with reopened modules.
+// Tests lookup function when modules are reopened by
+// a chain of inclusions
+#include "reopen_include2.idl"
+
module A
{
module B
@@ -118,3 +122,81 @@ module com
};
};
+// Modules X and Y are also included from reopene_include2.idl.
+// There were problems with the lookup of Y::Z and X::Ex.
+module Y
+{
+ interface Z {};
+};
+
+module X
+{
+ exception Ex {};
+
+ interface BI : Y::Z
+ {
+ void method () raises (X::Ex);
+ };
+};
+
+// Reopened from reopen_include2.idl inclusion. There
+// was a problem with the inheritance lookup.
+module XX
+{
+ interface blah_intfc;
+
+ interface blah_intfc
+ {
+ void op1();
+ };
+
+ interface blah0 : blah_intfc
+ {
+ void op0();
+ };
+};
+
+// Had lookup problems with the operation args and
+// return type.
+module frag
+{
+ interface frag_iface {};
+};
+
+module frag
+{
+ typedef long ret_long;
+};
+
+interface gather
+{
+ frag::ret_long op (in frag::dub_seq inarg,
+ inout frag::pug inoutarg,
+ out frag::frag_iface outarg);
+};
+
+// Had problems with second opening of module using
+// types declared between the openings.
+module foo
+{
+ typedef long longdef;
+};
+
+typedef long longdef2;
+
+struct bar {short s;};
+
+module foo
+{
+ struct foo_struct
+ {
+ longdef longval;
+ longdef2 longval2;
+ };
+
+ interface obj
+ {
+ void op (in bar inarg);
+ };
+};
+