2009-03-30 21:35:00 +00:00
|
|
|
/*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
|
|
* or more contributor license agreements. See the NOTICE file
|
|
|
|
* distributed with this work for additional information
|
|
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
|
|
* to you under the Apache License, Version 2.0 (the
|
|
|
|
* "License"); you may not use this file except in compliance
|
|
|
|
* with the License. You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing,
|
|
|
|
* software distributed under the License is distributed on an
|
|
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
* KIND, either express or implied. See the License for the
|
|
|
|
* specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*/
|
|
|
|
|
2008-12-10 01:52:48 +00:00
|
|
|
typedef list<i32> ( cpp.template = "std::list" ) int_linked_list
|
|
|
|
|
|
|
|
struct foo {
|
2010-03-05 07:51:51 +00:00
|
|
|
1: i32 bar ( presence = "required" );
|
|
|
|
2: i32 baz ( presence = "manual", cpp.use_pointer = "", );
|
2008-12-10 01:52:48 +00:00
|
|
|
3: i32 qux;
|
|
|
|
4: i32 bop;
|
|
|
|
} (
|
|
|
|
cpp.type = "DenseFoo",
|
|
|
|
python.type = "DenseFoo",
|
|
|
|
java.final = "",
|
2014-05-02 21:50:04 +00:00
|
|
|
annotation.without.value,
|
2008-12-10 01:52:48 +00:00
|
|
|
)
|
2009-07-27 17:02:42 +00:00
|
|
|
|
2012-09-17 21:18:05 +00:00
|
|
|
exception foo_error {
|
|
|
|
1: i32 error_code ( foo="bar" )
|
|
|
|
2: string error_msg
|
|
|
|
} (foo = "bar")
|
|
|
|
|
|
|
|
typedef string ( unicode.encoding = "UTF-16" ) non_latin_string (foo="bar")
|
2009-07-27 17:02:42 +00:00
|
|
|
typedef list< double ( cpp.fixed_point = "16" ) > tiny_float_list
|
2012-09-17 21:18:05 +00:00
|
|
|
|
|
|
|
enum weekdays {
|
|
|
|
SUNDAY ( weekend = "yes" ),
|
|
|
|
MONDAY,
|
|
|
|
TUESDAY,
|
|
|
|
WEDNESDAY,
|
|
|
|
THURSDAY,
|
|
|
|
FRIDAY,
|
|
|
|
SATURDAY ( weekend = "yes" )
|
|
|
|
} (foo.bar="baz")
|
|
|
|
|
2019-10-09 23:33:30 +00:00
|
|
|
/* Note that annotations on senum values are not supported. */
|
|
|
|
senum seasons {
|
|
|
|
"Spring",
|
|
|
|
"Summer",
|
|
|
|
"Fall",
|
|
|
|
"Winter"
|
|
|
|
} ( foo = "bar" )
|
|
|
|
|
2017-02-13 21:39:59 +00:00
|
|
|
struct ostr_default {
|
|
|
|
1: i32 bar;
|
|
|
|
}
|
|
|
|
|
|
|
|
struct ostr_custom {
|
|
|
|
1: i32 bar;
|
|
|
|
} (cpp.customostream)
|
|
|
|
|
|
|
|
|
2012-09-17 21:18:05 +00:00
|
|
|
service foo_service {
|
|
|
|
void foo() ( foo = "bar" )
|
|
|
|
} (a.b="c")
|
|
|
|
|
2020-08-04 21:09:14 +00:00
|
|
|
service deprecate_everything {
|
|
|
|
void Foo( ) ( deprecated = "This method has neither 'x' nor \"y\"" )
|
|
|
|
void Bar( ) ( deprecated = "Fails to deliver 中文 колбаса" )
|
|
|
|
void Baz( ) ( deprecated = "Need this to work with tabs (\t) or Umlauts (äöüÄÖÜß) too" )
|
|
|
|
void Deprecated() ( deprecated ) // no comment
|
|
|
|
}
|
|
|
|
|
|
|
|
|