Skip to content
This repository was archived by the owner on Jan 26, 2021. It is now read-only.

Commit 1d0dd74

Browse files
Sync changes from internal repo. (#96)
* Added enumValues to FieldInfo. Fixes google/protobuf.dart#63.
1 parent 9bcb838 commit 1d0dd74

File tree

7 files changed

+43
-19
lines changed

7 files changed

+43
-19
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.7.8 - 2017-10-25
2+
3+
* Added enumValues to FieldInfo.
4+
15
## 0.7.7 - 2017-09-25
26

37
* Avoid name clashes between import prefix and field names.

lib/code_generator.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ class CodeGenerator extends ProtobufContainer {
4646
Dart_options.registerAllExtensions(extensions);
4747

4848
_streamIn
49-
.fold(new BytesBuilder(), (builder, data) => builder..add(data))
49+
.fold(new BytesBuilder(),
50+
(BytesBuilder builder, data) => builder..add(data))
5051
.then((builder) => builder.takeBytes())
5152
.then((List<int> bytes) {
5253
var request = new CodeGeneratorRequest.fromBuffer(bytes, extensions);

lib/extension_generator.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ class ExtensionGenerator {
8585
if (type.isMessage || type.isGroup) {
8686
out.println(', $dartType.$checkItem, $dartType.create);');
8787
} else if (type.isEnum) {
88-
out.println(', $dartType.$checkItem, null, $dartType.valueOf);');
88+
out.println(', $dartType.$checkItem, null, '
89+
'$dartType.valueOf, $dartType.values);');
8990
} else {
9091
out.println(", getCheckFunction(${_field.typeConstant}));");
9192
}
@@ -102,8 +103,8 @@ class ExtensionGenerator {
102103
out.println(', $initializer, $dartType.create);');
103104
} else if (type.isEnum) {
104105
var dartEnum = type.getDartType(package);
105-
String valueOf = '(var v) => $dartEnum.valueOf(v)';
106-
out.println(", $initializer, null, $valueOf);");
106+
String enumParams = '(var v) => $dartEnum.valueOf(v), $dartEnum.values';
107+
out.println(", $initializer, null, $enumParams);");
107108
} else if (initializer != null) {
108109
out.println(", $initializer);");
109110
} else {

lib/protobuf_field.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,17 +110,17 @@ class ProtobufField {
110110
' $type.$checkItem, $type.create)';
111111
} else if (baseType.isEnum) {
112112
return '..pp<$type>($number, $quotedName, $typeConstant,'
113-
' $type.$checkItem, null, $type.valueOf)';
113+
' $type.$checkItem, null, $type.valueOf, $type.values)';
114114
} else {
115115
return '..p<$type>($number, $quotedName, $typeConstant)';
116116
}
117117
}
118118

119119
String makeDefault = generateDefaultFunction(package);
120120
if (baseType.isEnum) {
121-
String valueOf = '$type.valueOf';
121+
String enumParams = '$type.valueOf, $type.values';
122122
return '..e<$type>('
123-
'$number, $quotedName, $typeConstant, $makeDefault, $valueOf)';
123+
'$number, $quotedName, $typeConstant, $makeDefault, $enumParams)';
124124
}
125125

126126
String prefix = '..a<$type>($number, $quotedName, $typeConstant';

lib/src/descriptor.pb.dart

Lines changed: 27 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: protoc_plugin
2-
version: 0.7.7
2+
version: 0.7.8
33
author: Dart Team <[email protected]>
44
description: Protoc compiler plugin to generate Dart code
55
homepage: https://github.com/dart-lang/dart-protoc-plugin
@@ -8,7 +8,7 @@ environment:
88
dependencies:
99
fixnum: ^0.10.5
1010
path: ^1.0.0
11-
protobuf: ^0.5.5
11+
protobuf: ^0.6.0
1212
dart_style: ^1.0.6
1313
dev_dependencies:
1414
browser: any

test/message_generator_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class PhoneNumber_PhoneType extends ProtobufEnum {
4444
class PhoneNumber extends GeneratedMessage {
4545
static final BuilderInfo _i = new BuilderInfo('PhoneNumber')
4646
..a<String>(1, 'number', PbFieldType.QS)
47-
..e<PhoneNumber_PhoneType>(2, 'type', PbFieldType.OE, PhoneNumber_PhoneType.MOBILE, PhoneNumber_PhoneType.valueOf)
47+
..e<PhoneNumber_PhoneType>(2, 'type', PbFieldType.OE, PhoneNumber_PhoneType.MOBILE, PhoneNumber_PhoneType.valueOf, PhoneNumber_PhoneType.values)
4848
..a<String>(3, 'name', PbFieldType.OS, '\$')
4949
;
5050

0 commit comments

Comments
 (0)