Index: lib/extension_generator.dart |
diff --git a/lib/extension_generator.dart b/lib/extension_generator.dart |
index ae4f5057cf951c3b8ee162db476578b63a9a4535..441d38b41b7343f80a515f1f890d3dc94aca02e7 100644 |
--- a/lib/extension_generator.dart |
+++ b/lib/extension_generator.dart |
@@ -55,18 +55,17 @@ class ExtensionGenerator { |
if (_field == null) throw new StateError("resolve not called"); |
String name = _field.dartFieldName; |
+ var type = _field.baseType; |
+ var dartType = type.getDartType(package); |
if (_field.isRepeated) { |
out.print('static final Extension $name = ' |
- 'new Extension.repeated(\'$_extendedClassName\', \'$name\', ' |
- '${_field.number}, ${_field.typeConstant}'); |
- var type = _field.baseType; |
+ 'new Extension<$dartType>.repeated(\'$_extendedClassName\',' |
+ ' \'$name\', ${_field.number}, ${_field.typeConstant}'); |
if (type.isMessage || type.isGroup) { |
- var dartClass = type.getDartType(package); |
- out.println(', $dartClass.$checkItem, $dartClass.create);'); |
+ out.println(', $dartType.$checkItem, $dartType.create);'); |
} else if (type.isEnum) { |
- var dartClass = type.getDartType(package); |
- out.println(', $dartClass.$checkItem, null, $dartClass.valueOf);'); |
+ out.println(', $dartType.$checkItem, null, $dartType.valueOf);'); |
} else { |
out.println(", getCheckFunction(${_field.typeConstant}));"); |
} |
@@ -74,15 +73,13 @@ class ExtensionGenerator { |
} |
out.print('static final Extension $name = ' |
- 'new Extension(\'$_extendedClassName\', \'$name\', ' |
+ 'new Extension<$dartType>(\'$_extendedClassName\', \'$name\', ' |
'${_field.number}, ${_field.typeConstant}'); |
String initializer = _field.generateDefaultFunction(package); |
- var type = _field.baseType; |
if (type.isMessage || type.isGroup) { |
- var dartClass = type.getDartType(package); |
- out.println(', $initializer, $dartClass.create);'); |
+ out.println(', $initializer, $dartType.create);'); |
} else if (type.isEnum) { |
var dartEnum = type.getDartType(package); |
String valueOf = '(var v) => $dartEnum.valueOf(v)'; |