File tree Expand file tree Collapse file tree 2 files changed +10
-10
lines changed Expand file tree Collapse file tree 2 files changed +10
-10
lines changed Original file line number Diff line number Diff line change @@ -554,7 +554,7 @@ class MessageGenerator extends ProtobufContainer {
554
554
out.println (commentBlock);
555
555
}
556
556
557
- if (useNullable && field.isNullable ) {
557
+ if (useNullable && field.isOptional ) {
558
558
fieldTypeString += '?' ;
559
559
}
560
560
@@ -567,7 +567,7 @@ class MessageGenerator extends ProtobufContainer {
567
567
defaultExpr,
568
568
field.isRepeated,
569
569
field.isMapField,
570
- useNullable && field.isNullable );
570
+ useNullable && field.isOptional );
571
571
572
572
out.printlnAnnotated (
573
573
'$fieldTypeString get ${names !.fieldName } => $getterExpr ;' , [
@@ -596,7 +596,7 @@ class MessageGenerator extends ProtobufContainer {
596
596
_emitOverrideIf (field.overridesSetter, out);
597
597
_emitIndexAnnotation (field.number, out);
598
598
if (fastSetter != null ) {
599
- if (useNullable && field.isNullable ) {
599
+ if (useNullable && field.isOptional ) {
600
600
fastSetter += 'Nullable' ;
601
601
}
602
602
out.printlnAnnotated (
@@ -612,7 +612,7 @@ class MessageGenerator extends ProtobufContainer {
612
612
]);
613
613
} else {
614
614
final setterName =
615
- useNullable && field.isNullable ? '\$ _setFieldNullable' : '\$ _setField' ;
615
+ useNullable && field.isOptional ? '\$ _setFieldNullable' : '\$ _setField' ;
616
616
617
617
out.printlnAnnotated (
618
618
'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