Token | 
Idl.AnyIdentifier()  | 
Schema | 
Idl.ArrayType()  | 
Protocol | 
Idl.CompilationUnit()
The input to Idl is a CompilationUnit, which is currently
 just a single Protocol. 
 | 
List<String> | 
Idl.EnumBody()  | 
void | 
Idl.EnumConstant(List<String> symbols)  | 
Schema | 
Idl.EnumDeclaration()  | 
void | 
Idl.ErrorList(List<Schema> errors)  | 
void | 
Idl.FieldDeclaration(List<Schema.Field> fields)  | 
Schema | 
Idl.FixedDeclaration()  | 
void | 
Idl.FormalParameter(List<Schema.Field> fields)  | 
Schema | 
Idl.FormalParameters()  | 
String | 
Idl.Identifier()  | 
Protocol | 
Idl.ImportIdl()  | 
Protocol | 
Idl.ImportProtocol()  | 
Schema | 
Idl.ImportSchema()  | 
JsonNode | 
Idl.Json()  | 
JsonNode | 
Idl.JsonArray()  | 
void | 
Idl.JsonElements(ArrayNode a)  | 
void | 
Idl.JsonFields(ObjectNode o)  | 
JsonNode | 
Idl.JsonObject()  | 
void | 
Idl.JsonPair(ObjectNode o)  | 
String | 
Idl.JsonString()  | 
Schema | 
Idl.MapType()  | 
Protocol.Message | 
Idl.MessageDeclaration(Protocol p,
                  Map<String,JsonNode> props)  | 
String | 
Idl.MessageDocumentation()  | 
Schema | 
Idl.NamedSchemaDeclaration(Map<String,JsonNode> props)  | 
Schema | 
Idl.PrimitiveType()  | 
void | 
Idl.ProtocolBody(Protocol p)  | 
Protocol | 
Idl.ProtocolDeclaration()  | 
Schema | 
Idl.RecordDeclaration()  | 
Schema | 
Idl.ReferenceType()
A reference to some other existing type 
 | 
Schema | 
Idl.ResultType()
Result types are like other types, except we provide "void" as
 an alias of "null" 
 | 
void | 
Idl.SchemaProperty(Map<String,JsonNode> properties)  | 
Schema | 
Idl.Type()  | 
Schema | 
Idl.UnionDefinition()  | 
void | 
Idl.VariableDeclarator(Schema type,
                  List<Schema.Field> fields)  |