1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
// **********************************************************************
//
// Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
module Test
{
INTERFACE i { void op(); }
exception Void {}
exception int {}
struct OUT { long l; }
struct double { long l; }
struct s1 { long Int; }
struct s2 { long byte; }
struct s3 { short Int; byte b; }
struct s4 { float byte; byte b; }
class inTERface;
class interface;
class MOdule { long l; }
class module { long l; }
class C { long extendS; }
class C { long extends; }
class D { long extends; }
interface local;
interface Local;
interface Object { void op(); }
interface object { void op(); }
interface long { void op(); }
sequence<long> impLEments;
sequence<long> implements;
sequence<long> short;
sequence<module> seq1;
sequence<moDule> seq2;
dictionary<long, long> throws;
dictionary<long, long> thRows;
dictionary<long, long> LOCALobject;
dictionary<module, long> d1;
dictionary<MODULE, long> d2;
dictionary<long, out> d3;
dictionary<long, OUT> d4;
dictionary<void, void> d5;
dictionary<VOID, VOID> d6;
enum local { a, b }
enum LOCAL { c, e }
enum e1 { long, byte, foo }
enum e2 { LONG, BYTE, bar } // Ok as of 3.7
interface i1 { long module(); }
interface i2 { long mODule(); }
interface i3 { void exception(); }
interface i4 { void EXception(); }
interface i5 { out op(); }
interface i6 { OUT op(); }
interface i7 { void op(double byte); }
interface i8 { void op(double BYTE); }
interface i9 { void op(out double byte); }
interface i10 { void op(out double BYTE); }
interface \true {} // OK, escaped keyword
interface _a; // Illegal leading underscore
interface _true; // Illegal leading underscore
interface \_true; // Illegal leading underscore
interface b_; // Illegal trailing underscore
interface b__c; // Illegal underscores
interface b___c; // Illegal underscores
interface a_b; // Illegal underscore
interface a_b_c; // Illegal underscores
}
|