-
-types
- = {tail:} types ',' type
- | {head:} type;
-
-property_declaration
- = {method:} modifier* generic_parameters? type identifier '(' types? ')' throws_declaration? ';'
- | {constructor:} modifier* generic_parameters? full_class_name '(' types? ')' throws_declaration? ';'
- | {attribute:} modifier* type identifier brackets* throws_declaration? ';'
- | {static:} modifier* '{' '}' ';'
- | ';';
-
-implements_declaration = 'implements' types;
-extends_declaration = 'extends' types;
-throws_declaration = 'throws' types?;