File tree 2 files changed +10
-10
lines changed
2 files changed +10
-10
lines changed Original file line number Diff line number Diff line change @@ -490,7 +490,7 @@ class MessageGenerator extends ProtobufContainer {
490
490
var defaultExpr = field.getDefaultExpr ();
491
491
var names = field.memberNames;
492
492
493
- if (useNullable && field.isNullable ) {
493
+ if (useNullable && field.isOptional ) {
494
494
fieldTypeString += '?' ;
495
495
}
496
496
@@ -503,7 +503,7 @@ class MessageGenerator extends ProtobufContainer {
503
503
defaultExpr,
504
504
field.isRepeated,
505
505
field.isMapField,
506
- useNullable && field.isNullable );
506
+ useNullable && field.isOptional );
507
507
out.printlnAnnotated (
508
508
'$fieldTypeString get ${names !.fieldName } => $getterExpr ;' , [
509
509
NamedLocation (
@@ -531,7 +531,7 @@ class MessageGenerator extends ProtobufContainer {
531
531
_emitOverrideIf (field.overridesSetter, out);
532
532
_emitIndexAnnotation (field.number, out);
533
533
if (fastSetter != null ) {
534
- if (useNullable && field.isNullable ) {
534
+ if (useNullable && field.isOptional ) {
535
535
fastSetter += 'Nullable' ;
536
536
}
537
537
out.printlnAnnotated (
@@ -547,7 +547,7 @@ class MessageGenerator extends ProtobufContainer {
547
547
]);
548
548
} else {
549
549
final setterName =
550
- useNullable && field.isNullable ? 'setFieldNullable' : 'setField' ;
550
+ useNullable && field.isOptional ? 'setFieldNullable' : 'setField' ;
551
551
552
552
out.printlnAnnotated (
553
553
'set ${names .fieldName }'
Original file line number Diff line number Diff line change @@ -65,6 +65,12 @@ class ProtobufField {
65
65
bool get isRepeated =>
66
66
descriptor.label == FieldDescriptorProto_Label .LABEL_REPEATED ;
67
67
68
+ bool get isOptional {
69
+ if (isRepeated) return false ;
70
+ if (isRequired || ! descriptor.proto3Optional) return false ;
71
+ return true ;
72
+ }
73
+
68
74
/// Whether a numeric field is repeated and must be encoded with packed
69
75
/// encoding.
70
76
///
@@ -140,12 +146,6 @@ class ProtobufField {
140
146
// for example in package:protobuf/src/protobuf/mixins/well_known.dart.
141
147
}
142
148
143
- bool get isNullable {
144
- if (isRepeated) return false ;
145
- if (isRequired) return false ;
146
- return descriptor.proto3Optional || baseType.isMessage;
147
- }
148
-
149
149
/// Returns the expression to use for the Dart type.
150
150
String getDartType () {
151
151
if (isMapField) {
You can’t perform that action at this time.
0 commit comments