bc31fe4903
Since Dart `void` can actually carry values, functions with `void` return type are translated into Wasm functions returning the Dart object top type instead of an empty output type list. Only constructors, setters and imports/exports with void return type are now given empty output type lists in their Wasm signatures. A new low-level `WasmVoid` type is added to the internal Wasm types for specifying explicitly that a Wasm function should have an empty list of outputs. Fixes https://github.com/dart-lang/sdk/issues/50458 CoreLibraryReviewExempt: Only changes Wasm-specific libraries. Change-Id: I9562248f94e75a60142fd1af0136183aa288b98b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279971 Reviewed-by: Ömer Ağacan <omersa@google.com> Commit-Queue: Aske Simon Christensen <askesc@google.com>