@@ -16,18 +16,30 @@ class BuilderInfo {
1616
1717 BuilderInfo (this .messageName);
1818
19- void add <T >(int tagNumber, String name, int fieldType, dynamic defaultOrMaker,
20- CreateBuilderFunc subBuilder, ValueOfFunc valueOf) {
19+ void add <T >(
20+ int tagNumber,
21+ String name,
22+ int fieldType,
23+ dynamic defaultOrMaker,
24+ CreateBuilderFunc subBuilder,
25+ ValueOfFunc valueOf,
26+ List <ProtobufEnum > enumValues) {
2127 var index = fieldInfo.length;
2228 addField (new FieldInfo <T >(name, tagNumber, index, fieldType, defaultOrMaker,
23- subBuilder, valueOf));
29+ subBuilder, valueOf, enumValues ));
2430 }
2531
26- void addRepeated <T >(int tagNumber, String name, int fieldType,
27- CheckFunc <T > check, CreateBuilderFunc subBuilder, ValueOfFunc valueOf) {
32+ void addRepeated <T >(
33+ int tagNumber,
34+ String name,
35+ int fieldType,
36+ CheckFunc <T > check,
37+ CreateBuilderFunc subBuilder,
38+ ValueOfFunc valueOf,
39+ List <ProtobufEnum > enumValues) {
2840 var index = fieldInfo.length;
29- addField (new FieldInfo <T >.repeated (
30- name, tagNumber, index, fieldType, check, subBuilder, valueOf));
41+ addField (new FieldInfo <T >.repeated (name, tagNumber, index, fieldType, check,
42+ subBuilder, valueOf, enumValues ));
3143 }
3244
3345 void addField (FieldInfo fi) {
@@ -39,36 +51,42 @@ class BuilderInfo {
3951 void a <T >(int tagNumber, String name, int fieldType,
4052 [dynamic defaultOrMaker,
4153 CreateBuilderFunc subBuilder,
42- ValueOfFunc valueOf]) {
43- add <T >(tagNumber, name, fieldType, defaultOrMaker, subBuilder, valueOf);
54+ ValueOfFunc valueOf,
55+ List <ProtobufEnum > enumValues]) {
56+ add <T >(tagNumber, name, fieldType, defaultOrMaker, subBuilder, valueOf,
57+ enumValues);
4458 }
4559
4660 // Enum.
4761 void e <T >(int tagNumber, String name, int fieldType, dynamic defaultOrMaker,
48- ValueOfFunc valueOf) {
49- add <T >(tagNumber, name, fieldType, defaultOrMaker, null , valueOf);
62+ ValueOfFunc valueOf, List <ProtobufEnum > enumValues) {
63+ add <T >(
64+ tagNumber, name, fieldType, defaultOrMaker, null , valueOf, enumValues);
5065 }
5166
5267 // Repeated message.
5368 // TODO(skybrian): migrate to pp() and remove.
5469 void m <T >(int tagNumber, String name, CreateBuilderFunc subBuilder,
5570 MakeDefaultFunc makeDefault) {
5671 add <T >(tagNumber, name, PbFieldType ._REPEATED_MESSAGE , makeDefault,
57- subBuilder, null );
72+ subBuilder, null , null );
5873 }
5974
6075 // Repeated, not a message, group, or enum.
6176 void p <T >(int tagNumber, String name, int fieldType) {
6277 assert (! _isGroupOrMessage (fieldType) && ! _isEnum (fieldType));
63- addRepeated <T >(
64- tagNumber, name, fieldType, getCheckFunction (fieldType) , null , null );
78+ addRepeated <T >(tagNumber, name, fieldType, getCheckFunction (fieldType),
79+ null , null , null );
6580 }
6681
6782 // Repeated message, group, or enum.
6883 void pp <T >(int tagNumber, String name, int fieldType, CheckFunc <T > check,
69- [CreateBuilderFunc subBuilder, ValueOfFunc valueOf]) {
84+ [CreateBuilderFunc subBuilder,
85+ ValueOfFunc valueOf,
86+ List <ProtobufEnum > enumValues]) {
7087 assert (_isGroupOrMessage (fieldType) || _isEnum (fieldType));
71- addRepeated <T >(tagNumber, name, fieldType, check, subBuilder, valueOf);
88+ addRepeated <T >(
89+ tagNumber, name, fieldType, check, subBuilder, valueOf, enumValues);
7290 }
7391
7492 bool containsTagNumber (int tagNumber) => fieldInfo.containsKey (tagNumber);
0 commit comments