summaryrefslogtreecommitdiff
path: root/idlc/test/union.idl
diff options
context:
space:
mode:
Diffstat (limited to 'idlc/test/union.idl')
-rw-r--r--idlc/test/union.idl35
1 files changed, 35 insertions, 0 deletions
diff --git a/idlc/test/union.idl b/idlc/test/union.idl
new file mode 100644
index 000000000000..8e9b5c5dedf8
--- /dev/null
+++ b/idlc/test/union.idl
@@ -0,0 +1,35 @@
+module idlc
+{
+module test
+{
+
+union UnionTest switch (long) {
+ case 1: long x;
+ case 2: byte y;
+ case 3: string z;
+ case 4:
+ case 5: short w;
+ case 6: long array[ 10 ][ 20 ];
+ case 7: sequence<long> seq;
+ default: any a;
+};
+
+typedef enum E {
+ A,
+ B
+} EAlias;
+
+// Union with no default label
+union U2 switch(EAlias) {
+ case E::A : long x;
+ case E::B : short y;
+};
+
+union U3 switch(char) {
+ case 2 : long x;
+ case 4 : short y;
+};
+
+};
+};
+