mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 16:13:19 +00:00
f0aeebd0e7
The web platforms used to invent a spurious stack trace when reading `Error.stackTrace` before the object was thrown. They now return `null` instead, if there is no underlying JS error object, matching specified behavior. Fixed bugs in async error throwing in dart2wasm: * `throw` in an async function did not set the stack trace on an error. Now calls `Error._throw` instead of just a direct Wasm "throw". * `async*` functions did not capture the stack trace of a throw that ended the function body, which means it called `StreamController.addError` with only one argument. That then resused the stack trace from an `Error` throw instead of the correct stack trace. Added tests. Change-Id: I1d9fa8d9e18076a7fe28254b60b950866cd550a7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354021 Reviewed-by: Stephen Adams <sra@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com> Reviewed-by: Ömer Ağacan <omersa@google.com> Commit-Queue: Lasse Nielsen <lrn@google.com> |
||
---|---|---|
.. | ||
annotations.dart | ||
bigint.dart | ||
bool.dart | ||
comparable.dart | ||
core.dart | ||
core_sources.gni | ||
date_time.dart | ||
double.dart | ||
duration.dart | ||
enum.dart | ||
errors.dart | ||
exceptions.dart | ||
function.dart | ||
identical.dart | ||
int.dart | ||
invocation.dart | ||
iterable.dart | ||
iterator.dart | ||
list.dart | ||
map.dart | ||
null.dart | ||
num.dart | ||
object.dart | ||
pattern.dart | ||
print.dart | ||
record.dart | ||
regexp.dart | ||
set.dart | ||
sink.dart | ||
stacktrace.dart | ||
stopwatch.dart | ||
string.dart | ||
string_buffer.dart | ||
string_sink.dart | ||
symbol.dart | ||
type.dart | ||
uri.dart | ||
weak.dart |