Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Refactor code
  • Loading branch information
ailtonvivaz committed Mar 15, 2022
commit ec74255eaa5bfb4437f92ebbdda73e01a219785b
26 changes: 14 additions & 12 deletions packages/pigeon/lib/dart_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -470,25 +470,27 @@ void generateDart(DartOptions opt, Root root, StringSink sink) {
'final Map<Object$nullTag, Object$nullTag> pigeonMap = <Object$nullTag, Object$nullTag>{};',
);
for (final NamedType field in klass.fields) {
final String nullsafe = field.type.isNullable ? '?' : '';
indent.write('pigeonMap[\'${field.name}\'] = ');
if (customClassNames.contains(field.type.baseName)) {
if (opt.isNullSafe) {
indent.addln('${field.name}$nullsafe.encode();');
if (opt.isNullSafe) {
final String nullAwareOperator = field.type.isNullable ? '?' : '';
if (customClassNames.contains(field.type.baseName)) {
indent.addln('${field.name}$nullAwareOperator.encode();');
} else if (customEnumNames.contains(field.type.baseName)) {
indent.addln('${field.name}$nullAwareOperator.index;');
} else {
indent.addln('${field.name};');
}
} else {
if (customClassNames.contains(field.type.baseName)) {
indent.addln(
'${field.name} == null ? null : ${field.name}.encode();');
}
} else if (customEnumNames.contains(field.type.baseName)) {
if (opt.isNullSafe) {
indent.addln('${field.name}$nullsafe.index;');
} else {
} else if (customEnumNames.contains(field.type.baseName)) {
indent.addln(
'${field.name} == null ? null : ${field.name}$unwrapOperator.index;',
'${field.name} == null ? null : ${field.name}.index;',
);
} else {
indent.addln('${field.name};');
}
} else {
indent.addln('${field.name};');
}
}
indent.writeln('return pigeonMap;');
Expand Down