v8/test/unittests/torque
Tobias Tebbi 7e7b24eb25 [torque] avoid ambiguity if a catch catches from other handlers
Torque desugars try-catch/label constructs with several handlers
into nested try structures, with the first handler ending-up
innermost. So currently, if you write

try {
...
} label Foo {
  Throw(...);
} catch (e) {

}

The catch will catch the preceding Throw in another handler.
This is different from how multiple try-catch handlers are done in
languages like Java, where throwing from a preceding catch handler
is not caught by a later one. To avoid this possible ambiguity, this
CL prohibits this pattern, enforcing that a catch handler comes first,
before any other label-handler attached to the same try.
This way, a catch handler never catches from any other handler on the
same try, since they have to come later.

Bug: v8:7793
Change-Id: I943f14b2393d307c4254a3fc3a78f236dbcf86df
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2169098
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67516}
2020-05-01 14:47:01 +00:00
..
earley-parser-unittest.cc [torque] generate files per Torque file instead of per namespace 2019-06-05 16:12:27 +00:00
ls-json-unittest.cc [test] Use Fuchsia test runner for unittests 2019-12-05 14:22:01 +00:00
ls-message-unittest.cc [cleanup] Avoid non-const reference arguments in src/torque 2019-07-09 05:14:28 +00:00
ls-server-data-unittest.cc [test] Use Fuchsia test runner for unittests 2019-12-05 14:22:01 +00:00
torque-unittest.cc [torque] avoid ambiguity if a catch catches from other handlers 2020-05-01 14:47:01 +00:00
torque-utils-unittest.cc [torque-ls] fix Windows file paths 2019-04-24 08:17:07 +00:00