Index: lib/extension_generator.dart |
diff --git a/lib/extension_generator.dart b/lib/extension_generator.dart |
index d0e98886397405efc264fbb0daa1740376c52416..977bffa70a9a2282c379a60d8b52266d89fc0252 100644 |
--- a/lib/extension_generator.dart |
+++ b/lib/extension_generator.dart |
@@ -10,12 +10,14 @@ class ExtensionGenerator { |
// populated by resolve() |
ProtobufField _field; |
+ String _extensionName; |
String _extendedClassName = ""; |
ExtensionGenerator(this._descriptor, this._parent); |
void resolve(GenerationContext ctx) { |
- _field = new ProtobufField(_descriptor, null, _parent, ctx); |
+ _extensionName = extensionName(_descriptor); |
+ _field = new ProtobufField.extension(_descriptor, _parent, ctx); |
ProtobufContainer extendedType = ctx.getFieldType(_descriptor.extendee); |
// TODO(skybrian) When would this be null? |
@@ -31,7 +33,7 @@ class ExtensionGenerator { |
String get name { |
if (_field == null) throw new StateError("resolve not called"); |
- String name = _field.dartFieldName; |
+ String name = _extensionName; |
return _parent is MessageGenerator ? '${_parent.classname}.$name' : name; |
} |
@@ -72,7 +74,7 @@ class ExtensionGenerator { |
void generate(IndentingWriter out) { |
if (_field == null) throw new StateError("resolve not called"); |
- String name = _field.dartFieldName; |
+ String name = _extensionName; |
var type = _field.baseType; |
var dartType = type.getDartType(package); |