blob: 0b1ba3195750e1bfddabfac069fa993824f8e39a [file] [log] [blame]
David Reissea2cba82009-03-30 21:35:00 +00001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
David Reiss9a08dc62008-02-27 01:55:17 +000020namespace cpp yozone
David Hullec2a2522017-07-28 02:09:42 +020021namespace erl consts_
Jens Geyer76283922022-06-11 14:24:33 +020022namespace haxe constantsDemo
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070023namespace go constantsdemo
Dmytro Shteflyuk5cc10222025-11-24 18:01:10 -050024namespace rb ConstantsDemo
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070025
26typedef uuid myUUID
Mark Sleea4713ea2007-01-05 01:09:04 +000027
28struct thing {
Jens Geyer0b1e9512022-10-14 21:46:37 +020029 1: i32 hello,
30 2: i32 goodbye
31 3: uuid id
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070032 4: myUUID my_id
33 5: optional myUUID my_optional_id
Mark Sleea4713ea2007-01-05 01:09:04 +000034}
35
David Reiss176ed362008-06-10 22:56:48 +000036enum enumconstants {
Mark Sleed0767c52007-07-27 22:14:41 +000037 ONE = 1,
38 TWO = 2
39}
40
Anthony F. Molinaro71a58a82010-09-27 19:27:40 +000041// struct thing2 {
42// /** standard docstring */
43// 1: enumconstants val = TWO
44// }
David Reiss202111d2007-08-06 20:38:18 +000045
David Reiss9a4edfa2008-05-01 05:52:50 +000046typedef i32 myIntType
47const myIntType myInt = 3
48
Anthony F. Molinaro71a58a82010-09-27 19:27:40 +000049//const map<enumconstants,string> GEN_ENUM_NAMES = {ONE : "HOWDY", TWO: "PARTNER"}
Mark Sleed0767c52007-07-27 22:14:41 +000050
Mark Sleea4713ea2007-01-05 01:09:04 +000051const i32 hex_const = 0x0001F
Jens Geyer5ec21212015-04-26 15:24:59 +020052const i32 negative_hex_constant = -0x0001F
Mark Sleea4713ea2007-01-05 01:09:04 +000053
54const i32 GEN_ME = -3523553
55const double GEn_DUB = 325.532
56const double GEn_DU = 085.2355
57const string GEN_STRING = "asldkjasfd"
58
Jens Geyer5eed3a12015-12-08 01:32:12 +010059const double e10 = 1e10 // fails with 0.9.3 and earlier
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070060const double e11 = -1e10
Jens Geyer5eed3a12015-12-08 01:32:12 +010061
Jens Geyer0b1e9512022-10-14 21:46:37 +020062// uuids are accepted with or without curly braces
63const uuid GEN_UUID = '00000000-4444-CCCC-ffff-0123456789ab'
64const uuid GEN_GUID = '{00112233-4455-6677-8899-aaBBccDDeeFF}'
65
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070066const myUUID MY_UUID = '00000000-4444-CCCC-ffff-0123456789ab'
67const myUUID MY_GUID = '{00112233-4455-6677-8899-aaBBccDDeeFF}'
68
Mark Sleea4713ea2007-01-05 01:09:04 +000069const map<i32,i32> GEN_MAP = { 35532 : 233, 43523 : 853 }
70const list<i32> GEN_LIST = [ 235235, 23598352, 3253523 ]
71
72const map<i32, map<i32, i32>> GEN_MAPMAP = { 235 : { 532 : 53255, 235:235}}
73
74const map<string,i32> GEN_MAP2 = { "hello" : 233, "lkj98d" : 853, 'lkjsdf' : 098325 }
75
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070076const thing GEN_THING = { 'hello' : 325, 'goodbye' : 325352, 'id' : '{00112233-4455-6677-8899-aaBBccDDeeFF}', 'my_id': '00000000-4444-CCCC-ffff-0123456789ab', 'my_optional_id': '00000000-4444-CCCC-ffff-0123456789ab' }
Mark Sleea4713ea2007-01-05 01:09:04 +000077
Yuxuan 'fishy' Wang2acfe0f2022-10-21 10:27:40 -070078const map<i32,thing> GEN_WHAT = { 35 : { 'hello' : 325, 'goodbye' : 325352, 'id' : '00000000-4444-CCCC-ffff-0123456789ab', 'my_id': '00000000-4444-CCCC-ffff-0123456789ab', 'my_optional_id': '00000000-4444-CCCC-ffff-0123456789ab' } }
Mark Sleea4713ea2007-01-05 01:09:04 +000079
80const set<i32> GEN_SET = [ 235, 235, 53235 ]
81
Jens Geyer0b1e9512022-10-14 21:46:37 +020082const set<uuid> GUID_SET = [ '{00112233-4455-6677-8899-aaBBccDDeeFF}', '00000000-4444-CCCC-ffff-0123456789ab' ]
Jens Geyer62445c12022-06-29 00:00:00 +020083
Mark Sleea4713ea2007-01-05 01:09:04 +000084exception Blah {
85 1: i32 bing }
86
87exception Gak {}
88
89service yowza {
90 void blingity(),
91 i32 blangity() throws (1: Blah hoot )
92}