Index: lib/message_generator.dart |
diff --git a/lib/message_generator.dart b/lib/message_generator.dart |
index f7ec14f72d074ab3a9a3c212b8a9c2cca2749622..f6cff19ce426d6332839c61b6652150cf8f18311 100644 |
--- a/lib/message_generator.dart |
+++ b/lib/message_generator.dart |
@@ -7,6 +7,15 @@ part of protoc; |
const String SP = ' '; |
class MessageGenerator extends ProtobufContainer { |
+ // List of Dart language reserved words in names which cannot be used in a |
+ // subclass of GeneratedMessage. |
+ static final List<String> reservedWords = |
+ ['assert', 'break', 'case', 'catch', 'class', 'const', 'continue', |
+ 'default', 'do', 'else', 'enum', 'extends', 'false', 'final', |
+ 'finally', 'for', 'if', 'in', 'is', 'new', 'null', 'rethrow', 'return', |
+ 'super', 'switch', 'this', 'throw', 'true', 'try', 'var', 'void', |
+ 'while', 'with']; |
+ |
// List of names which cannot be used in a subclass of GeneratedMessage. |
static final List<String> reservedNames = |
['hashCode', 'noSuchMethod','runtimeType', 'toString', |
@@ -70,6 +79,7 @@ class MessageGenerator extends ProtobufContainer { |
void generate(IndentingWriter out) { |
_methodNames.clear(); |
+ _methodNames.addAll(reservedWords); |
_methodNames.addAll(reservedNames); |
for (EnumGenerator e in _enumGenerators) { |