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 @@ -498,7 +498,7 @@ class MessageGenerator extends ProtobufContainer {
498
498
final defaultExpr = field.getDefaultExpr ();
499
499
final names = field.memberNames;
500
500
501
- if (useNullable && field.isNullable ) {
501
+ if (useNullable && field.isOptional ) {
502
502
fieldTypeString += '?' ;
503
503
}
504
504
@@ -511,7 +511,7 @@ class MessageGenerator extends ProtobufContainer {
511
511
defaultExpr,
512
512
field.isRepeated,
513
513
field.isMapField,
514
- useNullable && field.isNullable );
514
+ useNullable && field.isOptional );
515
515
out.printlnAnnotated (
516
516
'$fieldTypeString get ${names !.fieldName } => $getterExpr ;' , [
517
517
NamedLocation (
@@ -539,7 +539,7 @@ class MessageGenerator extends ProtobufContainer {
539
539
_emitOverrideIf (field.overridesSetter, out);
540
540
_emitIndexAnnotation (field.number, out);
541
541
if (fastSetter != null ) {
542
- if (useNullable && field.isNullable ) {
542
+ if (useNullable && field.isOptional ) {
543
543
fastSetter += 'Nullable' ;
544
544
}
545
545
out.printlnAnnotated (
@@ -555,7 +555,7 @@ class MessageGenerator extends ProtobufContainer {
555
555
]);
556
556
} else {
557
557
final setterName =
558
- useNullable && field.isNullable ? 'setFieldNullable' : 'setField' ;
558
+ useNullable && field.isOptional ? 'setFieldNullable' : 'setField' ;
559
559
560
560
out.printlnAnnotated (
561
561
'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