AnnotationDeclaration |
A single annotation declaration, as part of the annotation list.
|
ConstDeclaration |
Declaration of a const value.
|
Declaration |
|
EnumDeclaration |
enum ::= 'enum' {name} '{' {enum_value}* '}' {annotations}?
|
EnumValueDeclaration |
enum_value ::= {name} ('=' {id})? {annotations}?
|
FieldDeclaration |
Represents the declaration of a single field param or thrown exception.
|
IncludeDeclaration |
include ::= 'include' {file_path} ('as' {programName})?
|
MessageDeclaration |
variant ::= 'struct' | 'union' | 'exception' | 'interface'
message ::= {variant} {name} (('implements' | 'of') {implementing})? '{' {field}* '}' {annotations}?
|
MethodDeclaration |
function ::= 'oneway'? {type} {name} '(' {field}* ')' ('throws' '(' {field}* ')')? {annotations}?
|
NamespaceDeclaration |
|
ProgramDeclaration |
declaration ::= {documentation} ({typedef} | {enum} | {message} | {service} | {const})
program ::= {namespace|include}* {declaration}*
|
ServiceDeclaration |
service ::= 'service' {name} ('extends' {extending})? '{' {function}* '}' {annotations}?
|
TypedefDeclaration |
typedef ::= 'typedef' {name} '=' {type}
|