You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[dart2wasm] Add wrapper functions to settle type differences between main module and dynamic module dispatch tables.
Due to new overrides being introduced, the expected type of a function in the dispatch table can change between the main module and dynamic module. For functions imported from the main module into the dynamic module and included in the dynamic module's dispatch table, this can lead to type errors.
This change introduces a wrapper that casts any differing types to the type expected by the dyanmic module and includes the wrapper in the dispatch table instead.
Only creates the wrapper when the function types differ. The wrapper will only contains casts for the parameters (or return type) that differ, the others will be passed through without a cast.
Change-Id: I7265693adcd5d8f831b36ed1c8960fbf363b908c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/422345
Reviewed-by: Ömer Ağacan <[email protected]>
Reviewed-by: Martin Kustermann <[email protected]>
0 commit comments