summaryrefslogtreecommitdiff
path: root/CIAO/tests/IDL3/Lookup/lookup_test.idl
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/tests/IDL3/Lookup/lookup_test.idl')
-rw-r--r--CIAO/tests/IDL3/Lookup/lookup_test.idl76
1 files changed, 76 insertions, 0 deletions
diff --git a/CIAO/tests/IDL3/Lookup/lookup_test.idl b/CIAO/tests/IDL3/Lookup/lookup_test.idl
new file mode 100644
index 00000000000..74d9b85de22
--- /dev/null
+++ b/CIAO/tests/IDL3/Lookup/lookup_test.idl
@@ -0,0 +1,76 @@
+// $Id$
+/**
+ * @file lookup_test.idl
+ * @authors Boris Kolpackov <boris@dre.vanderbilt.edu>
+ * Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests IDL compiler lookup when local names are used
+ * to reference declarations in supported interfaces,
+ * base valuetypes, base components, and base homes.
+ */
+
+
+#ifndef IDL3_LOOKUP_TEST_IDL
+#define IDL3_LOOKUP_TEST_IDL
+
+#include <Components.idl>
+
+module M
+{
+ interface IB
+ {
+ exception Ex {};
+ typedef long Foo;
+ };
+
+ interface I : IB
+ {
+ void f (in Foo bar) raises (Ex);
+ };
+
+ valuetype VB
+ {
+ typedef long Bar;
+ };
+
+ valuetype V : VB supports IB
+ {
+ void f (in Bar foo) raises (Ex);
+ };
+
+ valuetype EB
+ {
+ typedef long Bar;
+ };
+
+ valuetype E : EB supports IB
+ {
+ void f (in Bar foo) raises (Ex);
+ };
+
+ interface T
+ {
+ typedef long Bar;
+ };
+
+ component CB supports T
+ {
+ };
+
+ component C : CB
+ {
+ attribute Bar baz;
+ };
+
+ home HB supports IB manages CB
+ {
+ typedef long Bar;
+ };
+
+ home H : HB manages C
+ {
+ void f (in Bar b) raises (Ex);
+ };
+};
+
+#endif /* IDL3_LOOKUP_TEST_IDL */