Skip to content

Commit d8ad30b

Browse files
committed
Introduce a class for field types
1 parent 8792f2a commit d8ad30b

21 files changed

+811
-728
lines changed

protobuf/lib/src/protobuf/builder_info.dart

+28-21
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class BuilderInfo {
4545
void add<T>(
4646
int tagNumber,
4747
String name,
48-
int? fieldType,
48+
FieldType? fieldType,
4949
dynamic defaultOrMaker,
5050
CreateBuilderFunc? subBuilder,
5151
ValueOfFunc? valueOf,
@@ -66,22 +66,22 @@ class BuilderInfo {
6666
void addMapField<K, V>(
6767
int tagNumber,
6868
String name,
69-
int? keyFieldType,
70-
int? valueFieldType,
69+
FieldType? keyFieldType,
70+
FieldType? valueFieldType,
7171
BuilderInfo mapEntryBuilderInfo,
7272
CreateBuilderFunc? valueCreator,
7373
{ProtobufEnum? defaultEnumValue,
7474
String? protoName}) {
7575
var index = byIndex.length;
76-
_addField(MapFieldInfo<K, V>(name, tagNumber, index, PbFieldType.M,
76+
_addField(MapFieldInfo<K, V>(name, tagNumber, index, FieldType.MAP(),
7777
keyFieldType, valueFieldType, mapEntryBuilderInfo, valueCreator,
7878
defaultEnumValue: defaultEnumValue, protoName: protoName));
7979
}
8080

8181
void addRepeated<T>(
8282
int tagNumber,
8383
String name,
84-
int fieldType,
84+
FieldType fieldType,
8585
CheckFunc<T> check,
8686
CreateBuilderFunc? subBuilder,
8787
ValueOfFunc? valueOf,
@@ -110,7 +110,7 @@ class BuilderInfo {
110110
}
111111
}
112112

113-
void a<T>(int tagNumber, String name, int fieldType,
113+
void a<T>(int tagNumber, String name, FieldType fieldType,
114114
{dynamic defaultOrMaker,
115115
CreateBuilderFunc? subBuilder,
116116
ValueOfFunc? valueOf,
@@ -124,37 +124,41 @@ class BuilderInfo {
124124
/// Adds PbFieldType.OS String with no default value to reduce generated
125125
/// code size.
126126
void aOS(int tagNumber, String name, {String? protoName}) {
127-
add<String>(tagNumber, name, PbFieldType.OS, null, null, null, null,
127+
add<String>(
128+
tagNumber, name, FieldType.OPTIONAL_STRING(), null, null, null, null,
128129
protoName: protoName);
129130
}
130131

131132
/// Adds PbFieldType.PS String with no default value.
132133
void pPS(int tagNumber, String name, {String? protoName}) {
133-
addRepeated<String>(tagNumber, name, PbFieldType.PS,
134-
getCheckFunction(PbFieldType.PS), null, null, null,
134+
addRepeated<String>(tagNumber, name, FieldType.REPEATED_STRING(),
135+
getCheckFunction(FieldType.REPEATED_STRING()), null, null, null,
135136
protoName: protoName);
136137
}
137138

138139
/// Adds PbFieldType.QS String with no default value.
139140
void aQS(int tagNumber, String name, {String? protoName}) {
140-
add<String>(tagNumber, name, PbFieldType.QS, null, null, null, null,
141+
add<String>(
142+
tagNumber, name, FieldType.REQUIRED_STRING(), null, null, null, null,
141143
protoName: protoName);
142144
}
143145

144146
/// Adds Int64 field with Int64.ZERO default.
145147
void aInt64(int tagNumber, String name, {String? protoName}) {
146-
add<Int64>(tagNumber, name, PbFieldType.O6, Int64.ZERO, null, null, null,
148+
add<Int64>(
149+
tagNumber, name, FieldType.OPTIONAL_I64(), Int64.ZERO, null, null, null,
147150
protoName: protoName);
148151
}
149152

150153
/// Adds a boolean with no default value.
151154
void aOB(int tagNumber, String name, {String? protoName}) {
152-
add<bool>(tagNumber, name, PbFieldType.OB, null, null, null, null,
155+
add<bool>(
156+
tagNumber, name, FieldType.OPTIONAL_BOOL(), null, null, null, null,
153157
protoName: protoName);
154158
}
155159

156160
// Enum.
157-
void e<T>(int tagNumber, String name, int fieldType,
161+
void e<T>(int tagNumber, String name, FieldType fieldType,
158162
{dynamic defaultOrMaker,
159163
ValueOfFunc? valueOf,
160164
List<ProtobufEnum>? enumValues,
@@ -165,21 +169,22 @@ class BuilderInfo {
165169
}
166170

167171
// Repeated, not a message, group, or enum.
168-
void p<T>(int tagNumber, String name, int fieldType, {String? protoName}) {
169-
assert(!_isGroupOrMessage(fieldType) && !_isEnum(fieldType));
172+
void p<T>(int tagNumber, String name, FieldType fieldType,
173+
{String? protoName}) {
174+
assert(!fieldType.isGroupOrMessage && !fieldType.isEnum);
170175
addRepeated<T>(tagNumber, name, fieldType, getCheckFunction(fieldType),
171176
null, null, null,
172177
protoName: protoName);
173178
}
174179

175180
// Repeated message, group, or enum.
176-
void pc<T>(int tagNumber, String name, int fieldType,
181+
void pc<T>(int tagNumber, String name, FieldType fieldType,
177182
{CreateBuilderFunc? subBuilder,
178183
ValueOfFunc? valueOf,
179184
List<ProtobufEnum>? enumValues,
180185
ProtobufEnum? defaultEnumValue,
181186
String? protoName}) {
182-
assert(_isGroupOrMessage(fieldType) || _isEnum(fieldType));
187+
assert(fieldType.isGroupOrMessage || fieldType.isEnum);
183188
addRepeated<T>(tagNumber, name, fieldType, _checkNotNull, subBuilder,
184189
valueOf, enumValues,
185190
defaultEnumValue: defaultEnumValue, protoName: protoName);
@@ -190,7 +195,7 @@ class BuilderInfo {
190195
add<T>(
191196
tagNumber,
192197
name,
193-
PbFieldType.OM,
198+
FieldType.OPTIONAL_MESSAGE(),
194199
GeneratedMessage._defaultMakerFor<T>(subBuilder),
195200
subBuilder,
196201
null,
@@ -203,7 +208,7 @@ class BuilderInfo {
203208
add<T>(
204209
tagNumber,
205210
name,
206-
PbFieldType.QM,
211+
FieldType.REQUIRED_MESSAGE(),
207212
GeneratedMessage._defaultMakerFor<T>(subBuilder),
208213
subBuilder,
209214
null,
@@ -221,8 +226,8 @@ class BuilderInfo {
221226
// Map field.
222227
void m<K, V>(int tagNumber, String name,
223228
{String? entryClassName,
224-
int? keyFieldType,
225-
int? valueFieldType,
229+
FieldType? keyFieldType,
230+
FieldType? valueFieldType,
226231
CreateBuilderFunc? valueCreator,
227232
ValueOfFunc? valueOf,
228233
List<ProtobufEnum>? enumValues,
@@ -252,10 +257,12 @@ class BuilderInfo {
252257
return i?.name;
253258
}
254259

260+
/*
255261
int? fieldType(int tagNumber) {
256262
var i = fieldInfo[tagNumber];
257263
return i?.type;
258264
}
265+
*/
259266

260267
MakeDefaultFunc? makeDefault(int tagNumber) {
261268
var i = fieldInfo[tagNumber];

0 commit comments

Comments
 (0)