• Sathya Gunasekaran's avatar
    [parser] Improve error when using import decl in a script · e101b9c0
    Sathya Gunasekaran authored
    Perform a best-effort check for module context and provide an
    appropriate error.
    
    As seen from the import-blah-script.js test, we could have invalid
    import expressions in a script context that could result in an error
    saying "Cannot use import statement outside a module" which isn't
    the ideal error because the error is an incorrect import
    expression.
    
    But, when the developer changes to a module context, the
    correct error is thrown.
    
    To fix this, we'd have to refactor and call ParseImportDeclaration,
    and then throw an appropriate error, which seems like a lot of
    overhead for not enough gain.
    
    Bug: v8:9392, v8:6513
    Change-Id: I520ebb490fff4d95743a7c751d4095db9a35d41b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675948Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62358}
    e101b9c0
Name
Last commit
Last update
..
fail Loading commit data...
mjsunit Loading commit data...
regress/fail Loading commit data...
BUILD.gn Loading commit data...
README.md Loading commit data...
asm-assignment-undeclared.js Loading commit data...
asm-assignment-undeclared.out Loading commit data...
asm-function-mismatch-def.js Loading commit data...
asm-function-mismatch-def.out Loading commit data...
asm-function-mismatch-use.js Loading commit data...
asm-function-mismatch-use.out Loading commit data...
asm-function-redefined.js Loading commit data...
asm-function-redefined.out Loading commit data...
asm-function-undefined.js Loading commit data...
asm-function-undefined.out Loading commit data...
asm-function-variable-collision.js Loading commit data...
asm-function-variable-collision.out Loading commit data...
asm-import-wrong-annotation.js Loading commit data...
asm-import-wrong-annotation.out Loading commit data...
asm-import-wrong-object.js Loading commit data...
asm-import-wrong-object.out Loading commit data...
asm-linking-bogus-heap.js Loading commit data...
asm-linking-bogus-heap.out Loading commit data...
asm-linking-bogus-stdlib.js Loading commit data...
asm-linking-bogus-stdlib.out Loading commit data...
asm-linking-missing-heap.js Loading commit data...
asm-linking-missing-heap.out Loading commit data...
asm-missing-parameter-annotation.js Loading commit data...
asm-missing-parameter-annotation.out Loading commit data...
asm-missing-return-annotation.js Loading commit data...
asm-missing-return-annotation.out Loading commit data...
asm-table-mismatch-def.js Loading commit data...
asm-table-mismatch-def.out Loading commit data...
asm-table-mismatch-use.js Loading commit data...
asm-table-mismatch-use.out Loading commit data...
asm-table-redefined.js Loading commit data...
asm-table-redefined.out Loading commit data...
asm-table-undefined.js Loading commit data...
asm-table-undefined.out Loading commit data...
asm-table-variable-collision.js Loading commit data...
asm-table-variable-collision.out Loading commit data...
empty.js Loading commit data...
empty.out Loading commit data...
message.status Loading commit data...
non-use-strict-hex-escape.js Loading commit data...
non-use-strict-hex-escape.out Loading commit data...
non-use-strict-octal-escape.js Loading commit data...
non-use-strict-octal-escape.out Loading commit data...
non-use-strict-uhex-escape.js Loading commit data...
non-use-strict-uhex-escape.out Loading commit data...
nonstrict-arguments.js Loading commit data...
nonstrict-arguments.out Loading commit data...
nonstrict-eval.js Loading commit data...
nonstrict-eval.out Loading commit data...
nonstrict-with.js Loading commit data...
nonstrict-with.out Loading commit data...
object-binding-pattern-await-computed-name.js Loading commit data...
object-binding-pattern-await-computed-name.out Loading commit data...
strict-octal-indirect-regexp.js Loading commit data...
strict-octal-indirect-regexp.out Loading commit data...
strict-octal-regexp.js Loading commit data...
strict-octal-regexp.out Loading commit data...
testcfg.py Loading commit data...
try-catch-finally-no-message.js Loading commit data...
try-catch-finally-no-message.out Loading commit data...
try-catch-finally-return-in-finally.js Loading commit data...
try-catch-finally-return-in-finally.out Loading commit data...
try-finally-return-in-finally.js Loading commit data...
try-finally-return-in-finally.out Loading commit data...
wasm-finish-compilation.js Loading commit data...
wasm-finish-compilation.out Loading commit data...
wasm-function-name-async.js Loading commit data...
wasm-function-name-async.out Loading commit data...
wasm-function-name-streaming.js Loading commit data...
wasm-function-name-streaming.out Loading commit data...
wasm-module-and-function-name-async.js Loading commit data...
wasm-module-and-function-name-async.out Loading commit data...
wasm-module-and-function-name-streaming.js Loading commit data...
wasm-module-and-function-name-streaming.out Loading commit data...
wasm-module-name-async.js Loading commit data...
wasm-module-name-async.out Loading commit data...
wasm-module-name-streaming.js Loading commit data...
wasm-module-name-streaming.out Loading commit data...
wasm-no-name-async.js Loading commit data...
wasm-no-name-async.out Loading commit data...
wasm-no-name-streaming.js Loading commit data...
wasm-no-name-streaming.out Loading commit data...
wasm-trace-memory-interpreted.js Loading commit data...
wasm-trace-memory-interpreted.out Loading commit data...
wasm-trace-memory-liftoff.js Loading commit data...
wasm-trace-memory-liftoff.out Loading commit data...
wasm-trace-memory.js Loading commit data...
wasm-trace-memory.out Loading commit data...