[dart2wasm] Use `String` as return type of `Record_<X>.toString()`
This will ensure selector computation for `toString()` selector will
use more precise type.
Change-Id: I668197e58d25ac225fd8428dfaa5093e9090de2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/431041
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
diff --git a/pkg/dart2wasm/lib/record_class_generator.dart b/pkg/dart2wasm/lib/record_class_generator.dart
index e5f6c4a..4c9ada3 100644
--- a/pkg/dart2wasm/lib/record_class_generator.dart
+++ b/pkg/dart2wasm/lib/record_class_generator.dart
@@ -395,7 +395,8 @@
Procedure(
Name('toString', library),
ProcedureKind.Method,
- FunctionNode(ReturnStatement(stringExpression)),
+ FunctionNode(ReturnStatement(stringExpression),
+ returnType: coreTypes.stringNonNullableRawType),
fileUri: library.fileUri,
),
coreTypes);