dart-sdk/pkg/dart2wasm/lib
Srujan Gaddam c1ba3cf699 [dart2wasm] Fix handling of generic callbacks in trampoline
Closes https://github.com/dart-lang/sdk/issues/54192

Callbacks were being casted to their static type before being
called. With generic callbacks, we do not know their exact type
at compile time, therefore cannot make that cast. Similarly, a
null check was being done if the static type of the parameter
was potentially non-nullable, whereas it should be done if it's
*not* potentially nullable.

Change-Id: I3d30e901f1ff2ae4c17887564f15368244baeb24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/340390
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2023-12-12 04:50:13 +00:00
..
js [dart2wasm] Fix handling of generic callbacks in trampoline 2023-12-12 04:50:13 +00:00
abi.dart [ffi] Convert ABI-specific integers to fixed-width integers when doing wasm FfiNative transformation. 2022-11-08 22:16:28 +00:00
async.dart [dart2wasm] Handle JS exceptions in await exprs, finally blocks 2023-12-11 09:34:28 +00:00
await_transformer.dart [vm, dart2wasm] Early lowering of FunctionTearOff nodes 2023-09-15 16:54:08 +00:00
class_info.dart Reland "[dart2wasm] Use DataView in JS typed arrays" 2023-11-09 10:23:31 +00:00
closures.dart Make _FunctionType fields use WasmObjectArray instead of List 2023-12-08 18:48:00 +00:00
code_generator.dart [dart2wasm] Handle JS exceptions in await exprs, finally blocks 2023-12-11 09:34:28 +00:00
compile.dart Add new dart compile wasm command. 2023-12-05 15:44:53 +00:00
compiler_options.dart Add new dart compile wasm command. 2023-12-05 15:44:53 +00:00
constants.dart Use WasmObjectArray instead of List in RTT metadata 2023-12-11 12:24:04 +00:00
dart2wasm.dart Add new dart compile wasm command. 2023-12-05 15:44:53 +00:00
dispatch_table.dart [dart2wasm] Don't generate duplicate selectors for dynamic calls 2023-10-27 12:31:23 +00:00
dynamic_forwarders.dart [dart2wasm] Avoid duplicate checks in dynamic forwarders 2023-12-05 13:13:41 +00:00
ffi_native_transformer.dart [vm/ffi]: Add Native.addressOf 2023-12-05 13:10:36 +00:00
functions.dart Reland "[dart2wasm] Replace struct.new_default with struct.new for object allocation." 2023-09-26 10:07:42 +00:00
generate_wasm.dart Add new dart compile wasm command. 2023-12-05 15:44:53 +00:00
globals.dart [wasm_builder] Refactor to a builder / built pattern. 2023-07-31 15:27:58 +00:00
intrinsics.dart Use WasmObjectArray instead of List in RTT metadata 2023-12-11 12:24:04 +00:00
kernel_nodes.dart Use WasmObjectArray instead of List in RTT metadata 2023-12-11 12:24:04 +00:00
list_factory_specializer.dart [dart2wasm] Transform List factory calls to implementation class calls 2023-08-09 09:31:59 +00:00
option.dart Add new dart compile wasm command. 2023-12-05 15:44:53 +00:00
param_info.dart [dart2wasm] ParamInfo documentation and minor refactoring 2023-12-11 22:21:27 +00:00
record_class_generator.dart [kernel] Add VariableDeclaration.isSynthesized 2023-03-10 11:13:36 +00:00
records.dart [tfa,dart2wasm] Create separate class for each record shape in TFA 2023-03-07 18:06:42 +00:00
reference_extensions.dart Reland "[dart2wasm] Replace struct.new_default with struct.new for object allocation." 2023-09-26 10:07:42 +00:00
sync_star.dart Reland "[dart2wasm] Use a separate Wasm struct for every Dart class" 2023-10-19 09:45:04 +00:00
target.dart [dart2wasm] Allocate TextDecoder once when decoding UTF-8 to JSStringImpl 2023-11-14 11:42:23 +00:00
transformers.dart [dart2wasm] Fix invalid closure return type in async* lowering 2023-12-01 14:06:18 +00:00
translator.dart Make _FunctionType fields use WasmObjectArray instead of List 2023-12-08 18:48:00 +00:00
types.dart Use WasmObjectArray instead of List in RTT metadata 2023-12-11 12:24:04 +00:00