}
final public void ProtocolBody(Protocol p) throws ParseException {
Schema schema;
Message message;
Protocol importProtocol;
jj_consume_token(LBRACE);
label_5:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ARRAY:
case BOOLEAN:
case DOUBLE:
case ENUM:
case ERROR:
case FIXED:
case FLOAT:
case IMPORT:
case INT:
case LONG:
case MAP:
case BYTES:
case STRING:
case NULL:
case RECORD:
case UNION:
case VOID:
case IDENTIFIER:
case AT:
case TICK:
;
break;
default:
jj_la1[7] = jj_gen;
break label_5;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ENUM:
case ERROR:
case FIXED:
case RECORD:
case AT:
schema = NamedSchemaDeclaration();
break;
case IMPORT:
jj_consume_token(IMPORT);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDL:
case PROTOCOL:
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDL:
importProtocol = ImportIdl();
break;
case PROTOCOL:
importProtocol = ImportProtocol();
break;
default:
jj_la1[8] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
for (Schema s : importProtocol.getTypes())
names.put(s.getFullName(), s);
p.getMessages().putAll(importProtocol.getMessages());
break;
case SCHEMA:
schema = ImportSchema();
break;
default: