author Iain Ireland <>
Fri, 11 Jan 2019 18:05:36 +0000
changeset 453523 025feea5945bffc625e9cca2e23be51ee8670315
parent 452563 4b0da3a2a9facebc598079ca6e8161cefb3448ea
child 468419 a1ec8a73e99bb271e951e0f3e7bc093d02b258e9
permissions -rw-r--r--
Bug 1480390: Move ForOfIterClose logic inside TryNoteIter r=tcampbell This patch was intended to be a pure refactoring of existing code with no side-effects, moving the logic for handling for-of/for-of-iterclose trynotes inside TryNoteIter to avoid duplicating logic in all users of TryNoteIter. However, it turns out that there was a subtle preexisting bug in TryNoteIter that is fixed by the refactoring. Specifically, the logic to skip from a for-of-iterclose to its enclosing for-of must run before the logic to skip trynotes based on stack depth. Otherwise, the stack depth code may filter out the enclosing for-of (see the attached test case for an example) and we will skip too many try-notes. Differential Revision:

  "name": "mozilla-central",
  "description": "This package file is for node modules used in mozilla-central",
  "repository": {},
  "license": "MPL-2.0",
  "dependencies": {},
  "devDependencies": {
    "eslint": "5.11.1",
    "eslint-plugin-html": "5.0.0",
    "eslint-plugin-mozilla": "file:tools/lint/eslint/eslint-plugin-mozilla",
    "eslint-plugin-no-unsanitized": "3.0.2",
    "eslint-plugin-react": "7.12.2",
    "eslint-plugin-spidermonkey-js": "file:tools/lint/eslint/eslint-plugin-spidermonkey-js"
  "notes(private)": "We don't want to publish to npm, so this is marked as private",
  "private": true