Sync changes from internal repo. (#96)
* Added enumValues to FieldInfo. Fixes dart-lang/protobuf#63.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 03d8c0f..27c3a9c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.7.8 - 2017-10-25
+
+* Added enumValues to FieldInfo.
+
## 0.7.7 - 2017-09-25
* Avoid name clashes between import prefix and field names.
diff --git a/lib/code_generator.dart b/lib/code_generator.dart
index 8c17f01..862ac82 100644
--- a/lib/code_generator.dart
+++ b/lib/code_generator.dart
@@ -46,7 +46,8 @@
Dart_options.registerAllExtensions(extensions);
_streamIn
- .fold(new BytesBuilder(), (builder, data) => builder..add(data))
+ .fold(new BytesBuilder(),
+ (BytesBuilder builder, data) => builder..add(data))
.then((builder) => builder.takeBytes())
.then((List<int> bytes) {
var request = new CodeGeneratorRequest.fromBuffer(bytes, extensions);
diff --git a/lib/extension_generator.dart b/lib/extension_generator.dart
index 977bffa..3ae54ae 100644
--- a/lib/extension_generator.dart
+++ b/lib/extension_generator.dart
@@ -85,7 +85,8 @@
if (type.isMessage || type.isGroup) {
out.println(', $dartType.$checkItem, $dartType.create);');
} else if (type.isEnum) {
- out.println(', $dartType.$checkItem, null, $dartType.valueOf);');
+ out.println(', $dartType.$checkItem, null, '
+ '$dartType.valueOf, $dartType.values);');
} else {
out.println(", getCheckFunction(${_field.typeConstant}));");
}
@@ -102,8 +103,8 @@
out.println(', $initializer, $dartType.create);');
} else if (type.isEnum) {
var dartEnum = type.getDartType(package);
- String valueOf = '(var v) => $dartEnum.valueOf(v)';
- out.println(", $initializer, null, $valueOf);");
+ String enumParams = '(var v) => $dartEnum.valueOf(v), $dartEnum.values';
+ out.println(", $initializer, null, $enumParams);");
} else if (initializer != null) {
out.println(", $initializer);");
} else {
diff --git a/lib/protobuf_field.dart b/lib/protobuf_field.dart
index 0238cfc..98a06a8 100644
--- a/lib/protobuf_field.dart
+++ b/lib/protobuf_field.dart
@@ -110,7 +110,7 @@
' $type.$checkItem, $type.create)';
} else if (baseType.isEnum) {
return '..pp<$type>($number, $quotedName, $typeConstant,'
- ' $type.$checkItem, null, $type.valueOf)';
+ ' $type.$checkItem, null, $type.valueOf, $type.values)';
} else {
return '..p<$type>($number, $quotedName, $typeConstant)';
}
@@ -118,9 +118,9 @@
String makeDefault = generateDefaultFunction(package);
if (baseType.isEnum) {
- String valueOf = '$type.valueOf';
+ String enumParams = '$type.valueOf, $type.values';
return '..e<$type>('
- '$number, $quotedName, $typeConstant, $makeDefault, $valueOf)';
+ '$number, $quotedName, $typeConstant, $makeDefault, $enumParams)';
}
String prefix = '..a<$type>($number, $quotedName, $typeConstant';
diff --git a/lib/src/descriptor.pb.dart b/lib/src/descriptor.pb.dart
index b5ad945..e2c15b6 100644
--- a/lib/src/descriptor.pb.dart
+++ b/lib/src/descriptor.pb.dart
@@ -354,13 +354,15 @@
'label',
PbFieldType.OE,
FieldDescriptorProto_Label.LABEL_OPTIONAL,
- FieldDescriptorProto_Label.valueOf)
+ FieldDescriptorProto_Label.valueOf,
+ FieldDescriptorProto_Label.values)
..e<FieldDescriptorProto_Type>(
5,
'type',
PbFieldType.OE,
FieldDescriptorProto_Type.TYPE_DOUBLE,
- FieldDescriptorProto_Type.valueOf)
+ FieldDescriptorProto_Type.valueOf,
+ FieldDescriptorProto_Type.values)
..a<String>(6, 'typeName', PbFieldType.OS)
..a<String>(7, 'defaultValue', PbFieldType.OS)
..a<FieldOptions>(8, 'options', PbFieldType.OM, FieldOptions.getDefault,
@@ -786,8 +788,13 @@
static final BuilderInfo _i = new BuilderInfo('FileOptions')
..a<String>(1, 'javaPackage', PbFieldType.OS)
..a<String>(8, 'javaOuterClassname', PbFieldType.OS)
- ..e<FileOptions_OptimizeMode>(9, 'optimizeFor', PbFieldType.OE,
- FileOptions_OptimizeMode.SPEED, FileOptions_OptimizeMode.valueOf)
+ ..e<FileOptions_OptimizeMode>(
+ 9,
+ 'optimizeFor',
+ PbFieldType.OE,
+ FileOptions_OptimizeMode.SPEED,
+ FileOptions_OptimizeMode.valueOf,
+ FileOptions_OptimizeMode.values)
..a<bool>(10, 'javaMultipleFiles', PbFieldType.OB)
..a<String>(11, 'goPackage', PbFieldType.OS)
..a<bool>(16, 'ccGenericServices', PbFieldType.OB)
@@ -1041,13 +1048,23 @@
class FieldOptions extends GeneratedMessage {
static final BuilderInfo _i = new BuilderInfo('FieldOptions')
- ..e<FieldOptions_CType>(1, 'ctype', PbFieldType.OE,
- FieldOptions_CType.STRING, FieldOptions_CType.valueOf)
+ ..e<FieldOptions_CType>(
+ 1,
+ 'ctype',
+ PbFieldType.OE,
+ FieldOptions_CType.STRING,
+ FieldOptions_CType.valueOf,
+ FieldOptions_CType.values)
..a<bool>(2, 'packed', PbFieldType.OB)
..a<bool>(3, 'deprecated', PbFieldType.OB)
..a<bool>(5, 'lazy', PbFieldType.OB)
- ..e<FieldOptions_JSType>(6, 'jstype', PbFieldType.OE,
- FieldOptions_JSType.JS_NORMAL, FieldOptions_JSType.valueOf)
+ ..e<FieldOptions_JSType>(
+ 6,
+ 'jstype',
+ PbFieldType.OE,
+ FieldOptions_JSType.JS_NORMAL,
+ FieldOptions_JSType.valueOf,
+ FieldOptions_JSType.values)
..a<bool>(10, 'weak', PbFieldType.OB)
..pp<UninterpretedOption>(999, 'uninterpretedOption', PbFieldType.PM,
UninterpretedOption.$checkItem, UninterpretedOption.create)
@@ -1307,7 +1324,8 @@
'idempotencyLevel',
PbFieldType.OE,
MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN,
- MethodOptions_IdempotencyLevel.valueOf)
+ MethodOptions_IdempotencyLevel.valueOf,
+ MethodOptions_IdempotencyLevel.values)
..pp<UninterpretedOption>(999, 'uninterpretedOption', PbFieldType.PM,
UninterpretedOption.$checkItem, UninterpretedOption.create)
..hasExtensions = true;
diff --git a/pubspec.yaml b/pubspec.yaml
index 58b2eb0..48fd204 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: protoc_plugin
-version: 0.7.7
+version: 0.7.8
author: Dart Team <misc@dartlang.org>
description: Protoc compiler plugin to generate Dart code
homepage: https://github.com/dart-lang/dart-protoc-plugin
@@ -8,7 +8,7 @@
dependencies:
fixnum: ^0.10.5
path: ^1.0.0
- protobuf: ^0.5.5
+ protobuf: ^0.6.0
dart_style: ^1.0.6
dev_dependencies:
browser: any
diff --git a/test/message_generator_test.dart b/test/message_generator_test.dart
index 5f0d570..c207869 100755
--- a/test/message_generator_test.dart
+++ b/test/message_generator_test.dart
@@ -44,7 +44,7 @@
class PhoneNumber extends GeneratedMessage {
static final BuilderInfo _i = new BuilderInfo('PhoneNumber')
..a<String>(1, 'number', PbFieldType.QS)
- ..e<PhoneNumber_PhoneType>(2, 'type', PbFieldType.OE, PhoneNumber_PhoneType.MOBILE, PhoneNumber_PhoneType.valueOf)
+ ..e<PhoneNumber_PhoneType>(2, 'type', PbFieldType.OE, PhoneNumber_PhoneType.MOBILE, PhoneNumber_PhoneType.valueOf, PhoneNumber_PhoneType.values)
..a<String>(3, 'name', PbFieldType.OS, '\$')
;