2 //=============================================================================
4 * @file nested_scope.idl
6 * This file contains examples of IDL code that has
7 * caused problems in the past for the TAO IDL
8 * compiler. This test is to make sure the problems
12 * @author Jeff Parsons <parsons@cs.wustl.edu> and TAO users.
14 //=============================================================================
17 // Tests all the problem datatypes for repeating a scope
18 // name after skipping one nesting level.
24 struct skip
{short s
;};
32 union u_skip
switch (short)
59 typedef sequence
<long> pre_u_skip
;
67 typedef sequence
<long, 3> pre_b_skip
;
75 typedef sequence
<string> str_u_skip
;
83 typedef sequence
<string, 3> str_b_skip
;
91 typedef sequence
<wstring
> wstr_u_skip
;
99 typedef sequence
<wstring
, 3> wstr_b_skip
;
109 typedef sequence
<bloo
> obj_u_skip
;
117 typedef sequence
<bloo
> obj_b_skip
;
125 interface something
{};
133 interface something
: bug_1985_a
::b
::something
{};
137 // This one caused several problems - in the stub declaration of
138 // the operation, and in the skeleton body's allocation of return type.
141 interface UAV_Negotiator
{};
143 interface UAV_Negotiator_Factory
: ::Negotiator
::UAV_Negotiator
145 ::Negotiator
::UAV_Negotiator make_negotiator
(in string bitrate_sc
);
149 // Caught some generation of arg helper template parameters not using
150 // the qualifying '::' on scoped names.
156 enum Stuff
{ONE
, TWO
};
164 interface MyInterface
166 // @@ (JP 06/04/07) I'm commenting out the line below, since
167 // according to IDL scoping rules (CORBA 3.0.3, sections
168 // 3.20.1 and 3.20.2), the module Wow::bug_2125 hides the
169 // global module bug_2125 and so the lookup should fail.
170 // Not removing the line completely in case someday we
171 // extend IDL_Test to check for rejection of illegal IDL.
172 // void op1 (in bug_2125::Bar::Stuff fbs);
173 void op2
(in ::bug_2125
::Bar
::Stuff fbs
);
178 // This will ensure that we always put the '::'
179 // before the 'CORBA' on predefined types.
184 typedef unsigned long LongU
;