| 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}
|