diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext index af0a73d4..3968f2b9 100644 --- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext +++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext @@ -115,7 +115,7 @@ Enum: '}' ';'?; EnumElement: - Option | Literal | Reserved; + Option | Literal | ReservedEnum; Literal: name=Name '=' index=(LONG | HEX) @@ -138,6 +138,10 @@ ExtensibleType: Reserved: 'reserved' reservations+=Reservation (',' reservations+=Reservation)* ';'+; +// quick hack so that reservations of enums embedded in messages does not interfere +ReservedEnum: + 'reserved' reservations+=Reservation (',' reservations+=Reservation)* ';'+; + Reservation: IndexRange | StringLiteral;