xref: /aoo42x/main/idlc/test/union.idl (revision 540d5e64)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22module idlc
23{
24module test
25{
26
27union UnionTest switch (long) {
28  case 1: long x;
29  case 2: byte y;
30  case 3: string z;
31  case 4:
32  case 5: short w;
33  case 6: long array[ 10 ][ 20 ];
34  case 7: sequence<long> seq;
35 default: any a;
36};
37
38typedef enum E {
39  A,
40  B
41} EAlias;
42
43// Union with no default label
44union U2 switch(EAlias) {
45  case E::A : long x;
46  case E::B : short y;
47};
48
49union U3 switch(char) {
50  case 2 : long x;
51  case 4 : short y;
52};
53
54};
55};
56
57