| Index: lib/extension_generator.dart
|
| diff --git a/lib/extension_generator.dart b/lib/extension_generator.dart
|
| index e78cd1f39daf0033482310f17cd81dc61cd968d8..c7b5266d2d4a916e3bdc4d0ef207d4f3f0f69152 100644
|
| --- a/lib/extension_generator.dart
|
| +++ b/lib/extension_generator.dart
|
| @@ -21,6 +21,8 @@ class ExtensionGenerator implements ProtobufContainer {
|
| '.${descriptor.name}' :
|
| '${parent.fqname}.${descriptor.name}';
|
|
|
| + String get package => _parent.package;
|
| +
|
| String get classname {
|
| String name = new ProtobufField(
|
| _descriptor, _parent, _context).externalFieldName;
|
| @@ -29,17 +31,11 @@ class ExtensionGenerator implements ProtobufContainer {
|
|
|
| void generate(IndentingWriter out) {
|
| ProtobufField field = new ProtobufField(_descriptor, _parent, _context);
|
| - String baseType = field.baseType;
|
| + String baseType = field.baseTypeForPackage(package);
|
|
|
| String name = field.externalFieldName;
|
| String type = field.shortTypeName;
|
|
|
| - String typeName = '';
|
| - ProtobufContainer typeNameContainer = _context[_descriptor.typeName];
|
| - if (typeNameContainer != null) {
|
| - typeName = typeNameContainer.classname;
|
| - }
|
| -
|
| String extendee = '';
|
| ProtobufContainer extendeeContainer = _context[_descriptor.extendee];
|
| if (extendeeContainer != null) {
|
| @@ -55,17 +51,18 @@ class ExtensionGenerator implements ProtobufContainer {
|
| _descriptor.type == FieldDescriptorProto_Type.TYPE_GROUP) {
|
| if (_descriptor.label ==
|
| FieldDescriptorProto_Label.LABEL_REPEATED) {
|
| - initializer = ',${SP}()${SP}=>${SP}new PbList<${typeName}>()';
|
| - builder = ',${SP}()${SP}=>${SP}new ${typeName}()';
|
| + initializer = ',${SP}()${SP}=>${SP}new PbList<${baseType}>()';
|
| + builder = ',${SP}()${SP}=>${SP}new ${baseType}()';
|
| } else {
|
| - initializer = ',${SP}()${SP}=>${SP}new ${typeName}()';
|
| - builder = ',${SP}()${SP}=>${SP}new ${typeName}()';
|
| + initializer = ',${SP}()${SP}=>${SP}new ${baseType}()';
|
| + builder = ',${SP}()${SP}=>${SP}new ${baseType}()';
|
| }
|
| } else {
|
| if (_descriptor.label == FieldDescriptorProto_Label.LABEL_REPEATED) {
|
| initializer = ',${SP}()${SP}=>${SP}new PbList<${baseType}>()';
|
| } else if (field.hasInitialization) {
|
| - initializer = ',${SP}${field.initialization}';
|
| + var fieldInitialization = field.initializationForPackage(package);
|
| + initializer = ',${SP}${fieldInitialization}';
|
| }
|
| }
|
|
|
| @@ -76,7 +73,8 @@ class ExtensionGenerator implements ProtobufContainer {
|
| if (builder.isEmpty) {
|
| builder = ',${SP}null';
|
| }
|
| - valueOf = ',${SP}(var v)${SP}=>${SP}${field.baseType}.valueOf(v)';
|
| + var fieldType = field.baseTypeForPackage(package);
|
| + valueOf = ',${SP}(var v)${SP}=>${SP}${fieldType}.valueOf(v)';
|
| }
|
|
|
| out.println('static final Extension $name${SP}=${SP}'
|
|
|