diff options
Diffstat (limited to 'modules/CIAO/tests/IDL3/Lookup/lookup_test.idl')
-rw-r--r-- | modules/CIAO/tests/IDL3/Lookup/lookup_test.idl | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/modules/CIAO/tests/IDL3/Lookup/lookup_test.idl b/modules/CIAO/tests/IDL3/Lookup/lookup_test.idl new file mode 100644 index 00000000000..74d9b85de22 --- /dev/null +++ b/modules/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 */ |