David Reiss | ea2cba8 | 2009-03-30 21:35:00 +0000 | [diff] [blame] | 1 | /* |
| 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 Reiss | a230999 | 2008-12-10 01:52:48 +0000 | [diff] [blame] | 20 | typedef list<i32> ( cpp.template = "std::list" ) int_linked_list |
| 21 | |
| 22 | struct foo { |
David Reiss | 53c10e0 | 2010-03-05 07:51:51 +0000 | [diff] [blame] | 23 | 1: i32 bar ( presence = "required" ); |
| 24 | 2: i32 baz ( presence = "manual", cpp.use_pointer = "", ); |
David Reiss | a230999 | 2008-12-10 01:52:48 +0000 | [diff] [blame] | 25 | 3: i32 qux; |
| 26 | 4: i32 bop; |
| 27 | } ( |
| 28 | cpp.type = "DenseFoo", |
| 29 | python.type = "DenseFoo", |
| 30 | java.final = "", |
Jens Geyer | 89847df | 2014-05-02 23:50:04 +0200 | [diff] [blame] | 31 | annotation.without.value, |
David Reiss | a230999 | 2008-12-10 01:52:48 +0000 | [diff] [blame] | 32 | ) |
David Reiss | c8e3005 | 2009-07-27 17:02:42 +0000 | [diff] [blame] | 33 | |
Roger Meier | 3087738 | 2012-09-17 21:18:05 +0000 | [diff] [blame] | 34 | exception foo_error { |
| 35 | 1: i32 error_code ( foo="bar" ) |
| 36 | 2: string error_msg |
| 37 | } (foo = "bar") |
| 38 | |
| 39 | typedef string ( unicode.encoding = "UTF-16" ) non_latin_string (foo="bar") |
David Reiss | c8e3005 | 2009-07-27 17:02:42 +0000 | [diff] [blame] | 40 | typedef list< double ( cpp.fixed_point = "16" ) > tiny_float_list |
Roger Meier | 3087738 | 2012-09-17 21:18:05 +0000 | [diff] [blame] | 41 | |
| 42 | enum weekdays { |
| 43 | SUNDAY ( weekend = "yes" ), |
| 44 | MONDAY, |
| 45 | TUESDAY, |
| 46 | WEDNESDAY, |
| 47 | THURSDAY, |
| 48 | FRIDAY, |
| 49 | SATURDAY ( weekend = "yes" ) |
| 50 | } (foo.bar="baz") |
| 51 | |
| 52 | /* Note that annotations on senum values are not supported. */ |
| 53 | senum seasons { |
| 54 | "Spring", |
| 55 | "Summer", |
| 56 | "Fall", |
| 57 | "Winter" |
| 58 | } ( foo = "bar" ) |
| 59 | |
| 60 | service foo_service { |
| 61 | void foo() ( foo = "bar" ) |
| 62 | } (a.b="c") |
| 63 | |