mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
feat(linter): check eval and arguments in JavaScript
This commit is contained in:
parent
93b06e948a
commit
84eaa0b7e3
4 changed files with 646 additions and 88 deletions
|
|
@ -71,6 +71,11 @@ fn check_identifier<'a>(name: &Atom, span: Span, node: &AstNode<'a>, ctx: &LintC
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Error, Diagnostic)]
|
||||
#[error("Cannot assign to '{0}' in strict mode")]
|
||||
#[diagnostic()]
|
||||
struct UnexpectedIdentifierAssign(Atom, #[label] Span);
|
||||
|
||||
fn check_binding_identifier<'a>(
|
||||
ident: &BindingIdentifier,
|
||||
node: &AstNode<'a>,
|
||||
|
|
@ -78,9 +83,9 @@ fn check_binding_identifier<'a>(
|
|||
) {
|
||||
let strict_mode = ctx.strict_mode(node);
|
||||
// It is a Diagnostic if the StringValue of a BindingIdentifier is "eval" or "arguments" within strict mode code.
|
||||
// if strict_mode && !span.ctx.has_ambient() && matches!(name.as_str(), "eval" | "arguments") {
|
||||
// return Some(Diagnostic::UnexpectedIdentifierAssign(name.clone(), span.range()));
|
||||
// }
|
||||
if strict_mode && matches!(ident.name.as_str(), "eval" | "arguments") {
|
||||
return ctx.diagnostic(UnexpectedIdentifierAssign(ident.name.clone(), ident.span));
|
||||
}
|
||||
|
||||
// LexicalDeclaration : LetOrConst BindingList ;
|
||||
// * It is a Syntax Error if the BoundNames of BindingList contains "let".
|
||||
|
|
@ -111,11 +116,6 @@ fn check_identifier_reference<'a>(
|
|||
node: &AstNode<'a>,
|
||||
ctx: &LintContext<'a>,
|
||||
) {
|
||||
#[derive(Debug, Error, Diagnostic)]
|
||||
#[error("Cannot assign to '{0}' in strict mode")]
|
||||
#[diagnostic()]
|
||||
struct UnexpectedIdentifierAssign(Atom, #[label] Span);
|
||||
|
||||
#[derive(Debug, Error, Diagnostic)]
|
||||
#[error("'arguments' is not allowed in {0}")]
|
||||
#[diagnostic()]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Babel Summary:
|
||||
AST Parsed : 2053/2069 (99.23%)
|
||||
Positive Passed: 2053/2069 (99.23%)
|
||||
Negative Passed: 1059/1502 (70.51%)
|
||||
Negative Passed: 1061/1502 (70.64%)
|
||||
Expect Syntax Error: "annex-b/disabled/1.1-html-comments-close/input.js"
|
||||
Expect Syntax Error: "annex-b/disabled/3.1-sloppy-labeled-functions-if-body/input.js"
|
||||
Expect Syntax Error: "annex-b/disabled/3.1-sloppy-labeled-functions-multiple-labels/input.js"
|
||||
|
|
@ -91,7 +91,6 @@ Expect Syntax Error: "core/uncategorised/550/input.js"
|
|||
Expect Syntax Error: "core/uncategorised/552/input.js"
|
||||
Expect Syntax Error: "es2015/class-methods/direct-super-in-object-method/input.js"
|
||||
Expect Syntax Error: "es2015/class-methods/disallow-duplicate-method-params/input.js"
|
||||
Expect Syntax Error: "es2015/destructuring/binding-arguments-module/input.js"
|
||||
Expect Syntax Error: "es2015/destructuring/binding-arguments-strict/input.js"
|
||||
Expect Syntax Error: "es2015/destructuring/binding-eval/input.js"
|
||||
Expect Syntax Error: "es2015/destructuring/error-operator-for-default/input.js"
|
||||
|
|
@ -195,7 +194,6 @@ Expect Syntax Error: "esprima/es2015-array-pattern/dupe-param-3/input.js"
|
|||
Expect Syntax Error: "esprima/es2015-arrow-function/complex-rest-in-arrow-not-allowed/input.js"
|
||||
Expect Syntax Error: "esprima/es2015-arrow-function/invalid-duplicated-params/input.js"
|
||||
Expect Syntax Error: "esprima/es2015-arrow-function/invalid-param-strict-mode/input.js"
|
||||
Expect Syntax Error: "esprima/es2015-class/.migrated_0026/input.js"
|
||||
Expect Syntax Error: "esprima/es2015-export-declaration/invalid-export-named-default/input.js"
|
||||
Expect Syntax Error: "esprima/es2015-generator/.generator-parameter-binding-property-reserved/input.js"
|
||||
Expect Syntax Error: "esprima/es2015-generator/generator-method-with-invalid-computed-name/input.js"
|
||||
|
|
@ -2263,6 +2261,12 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts"
|
|||
· ╰── keyword cannot contain escape characters
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[es2015/destructuring/binding-arguments-module/input.js:1:1]
|
||||
1 │ const { arguments } = foo();
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Expect token
|
||||
╭─[es2015/destructuring/binding-this/input.js:1:1]
|
||||
1 │ var { this } = {};
|
||||
|
|
@ -6128,6 +6132,12 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts"
|
|||
· ╰── Expect `=>` here, but found `+`
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[esprima/es2015-class/.migrated_0026/input.js:1:1]
|
||||
1 │ class A {a(eval){}}
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Invalid assignment
|
||||
╭─[esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-01/input.js:1:1]
|
||||
1 │ ({a:this}=0)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Test262 Summary:
|
||||
AST Parsed : 44015/44034 (99.96%)
|
||||
Positive Passed: 44015/44034 (99.96%)
|
||||
Negative Passed: 3229/3917 (82.44%)
|
||||
Negative Passed: 3302/3917 (84.30%)
|
||||
Expect Syntax Error: "language/block-scope/syntax/function-declarations/in-statement-position-do-statement-while-expression.js"
|
||||
Expect Syntax Error: "language/block-scope/syntax/function-declarations/in-statement-position-for-statement.js"
|
||||
Expect Syntax Error: "language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement-else-statement.js"
|
||||
|
|
@ -31,9 +31,6 @@ Expect Syntax Error: "language/expressions/arrow-function/object-destructuring-p
|
|||
Expect Syntax Error: "language/expressions/arrow-function/param-dflt-yield-expr.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/params-duplicate.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/rest-param-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-1.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-2.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-3.js"
|
||||
|
|
@ -45,7 +42,6 @@ Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/ar
|
|||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-6.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-rest.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js"
|
||||
Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/use-strict-with-non-simple-param.js"
|
||||
Expect Syntax Error: "language/expressions/assignmenttargettype/direct-yieldexpression-0.js"
|
||||
Expect Syntax Error: "language/expressions/async-arrow-function/array-destructuring-param-strict-body.js"
|
||||
|
|
@ -53,15 +49,10 @@ Expect Syntax Error: "language/expressions/async-arrow-function/await-as-param-n
|
|||
Expect Syntax Error: "language/expressions/async-arrow-function/dflt-params-duplicates.js"
|
||||
Expect Syntax Error: "language/expressions/async-arrow-function/dflt-params-rest.js"
|
||||
Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js"
|
||||
Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/async-arrow-function/object-destructuring-param-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/async-arrow-function/rest-param-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/async-function/early-errors-expression-NSPL-with-USD.js"
|
||||
Expect Syntax Error: "language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js"
|
||||
Expect Syntax Error: "language/expressions/async-function/early-errors-expression-binding-identifier-eval.js"
|
||||
Expect Syntax Error: "language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/async-function/named-array-destructuring-param-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/async-function/named-dflt-params-duplicates.js"
|
||||
Expect Syntax Error: "language/expressions/async-function/named-dflt-params-rest.js"
|
||||
|
|
@ -88,11 +79,7 @@ Expect Syntax Error: "language/expressions/async-generator/dstr/named-dflt-ary-p
|
|||
Expect Syntax Error: "language/expressions/async-generator/dstr/named-dflt-ary-ptrn-rest-init-id.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/dstr/named-dflt-ary-ptrn-rest-init-obj.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-NSPL-with-USD.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-arguments-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-binding-identifier-arguments.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-binding-identifier-eval.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-eval-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-formals-contains-await-expr.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-formals-contains-yield-expr.js"
|
||||
Expect Syntax Error: "language/expressions/async-generator/named-array-destructuring-param-strict-body.js"
|
||||
|
|
@ -227,9 +214,7 @@ Expect Syntax Error: "language/expressions/function/dstr/dflt-ary-ptrn-rest-init
|
|||
Expect Syntax Error: "language/expressions/function/dstr/dflt-ary-ptrn-rest-init-id.js"
|
||||
Expect Syntax Error: "language/expressions/function/dstr/dflt-ary-ptrn-rest-init-obj.js"
|
||||
Expect Syntax Error: "language/expressions/function/name-arguments-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/function/name-arguments-strict.js"
|
||||
Expect Syntax Error: "language/expressions/function/name-eval-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/function/name-eval-strict.js"
|
||||
Expect Syntax Error: "language/expressions/function/object-destructuring-param-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/function/param-duplicated-strict-1.js"
|
||||
Expect Syntax Error: "language/expressions/function/param-duplicated-strict-2.js"
|
||||
|
|
@ -255,7 +240,6 @@ Expect Syntax Error: "language/expressions/generators/rest-param-strict-body.js"
|
|||
Expect Syntax Error: "language/expressions/generators/use-strict-with-non-simple-param.js"
|
||||
Expect Syntax Error: "language/expressions/generators/yield-as-generator-expression-binding-identifier.js"
|
||||
Expect Syntax Error: "language/expressions/import.meta/syntax/goal-script.js"
|
||||
Expect Syntax Error: "language/expressions/object/11.1.5-1gs.js"
|
||||
Expect Syntax Error: "language/expressions/object/dstr/async-gen-meth-ary-ptrn-rest-init-ary.js"
|
||||
Expect Syntax Error: "language/expressions/object/dstr/async-gen-meth-ary-ptrn-rest-init-id.js"
|
||||
Expect Syntax Error: "language/expressions/object/dstr/async-gen-meth-ary-ptrn-rest-init-obj.js"
|
||||
|
|
@ -296,9 +280,7 @@ Expect Syntax Error: "language/expressions/object/method-definition/async-meth-o
|
|||
Expect Syntax Error: "language/expressions/object/method-definition/async-meth-rest-param-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-async-method-duplicate-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js"
|
||||
Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/expressions/object/method-definition/gen-meth-array-destructuring-param-strict-body.js"
|
||||
Expect Syntax Error: "language/expressions/object/method-definition/gen-meth-dflt-params-duplicates.js"
|
||||
Expect Syntax Error: "language/expressions/object/method-definition/gen-meth-dflt-params-rest.js"
|
||||
|
|
@ -315,9 +297,7 @@ Expect Syntax Error: "language/expressions/object/method-definition/setter-use-s
|
|||
Expect Syntax Error: "language/expressions/object/method-definition/use-strict-with-non-simple-param.js"
|
||||
Expect Syntax Error: "language/expressions/object/setter-body-strict-inside.js"
|
||||
Expect Syntax Error: "language/expressions/object/setter-param-arguments-strict-inside.js"
|
||||
Expect Syntax Error: "language/expressions/object/setter-param-arguments-strict-outside.js"
|
||||
Expect Syntax Error: "language/expressions/object/setter-param-eval-strict-inside.js"
|
||||
Expect Syntax Error: "language/expressions/object/setter-param-eval-strict-outside.js"
|
||||
Expect Syntax Error: "language/global-code/export.js"
|
||||
Expect Syntax Error: "language/global-code/import.js"
|
||||
Expect Syntax Error: "language/global-code/new.target-arrow.js"
|
||||
|
|
@ -342,10 +322,6 @@ Expect Syntax Error: "language/module-code/early-dup-export-id.js"
|
|||
Expect Syntax Error: "language/module-code/early-dup-export-star-as-dflt.js"
|
||||
Expect Syntax Error: "language/module-code/early-export-global.js"
|
||||
Expect Syntax Error: "language/module-code/early-export-unresolvable.js"
|
||||
Expect Syntax Error: "language/module-code/early-import-arguments.js"
|
||||
Expect Syntax Error: "language/module-code/early-import-as-arguments.js"
|
||||
Expect Syntax Error: "language/module-code/early-import-as-eval.js"
|
||||
Expect Syntax Error: "language/module-code/early-import-eval.js"
|
||||
Expect Syntax Error: "language/module-code/early-new-target.js"
|
||||
Expect Syntax Error: "language/module-code/parse-err-return.js"
|
||||
Expect Syntax Error: "language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-declaration-body.js"
|
||||
|
|
@ -356,11 +332,7 @@ Expect Syntax Error: "language/statements/async-function/array-destructuring-par
|
|||
Expect Syntax Error: "language/statements/async-function/dflt-params-duplicates.js"
|
||||
Expect Syntax Error: "language/statements/async-function/dflt-params-rest.js"
|
||||
Expect Syntax Error: "language/statements/async-function/early-errors-declaration-NSPL-with-USD.js"
|
||||
Expect Syntax Error: "language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js"
|
||||
Expect Syntax Error: "language/statements/async-function/early-errors-declaration-binding-identifier-eval.js"
|
||||
Expect Syntax Error: "language/statements/async-function/early-errors-declaration-duplicate-parameters.js"
|
||||
Expect Syntax Error: "language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/statements/async-function/object-destructuring-param-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/async-function/rest-param-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/async-generator/array-destructuring-param-strict-body.js"
|
||||
|
|
@ -396,9 +368,7 @@ Expect Syntax Error: "language/statements/class/async-method/object-destructurin
|
|||
Expect Syntax Error: "language/statements/class/async-method/rest-param-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/class/definition/early-errors-class-async-method-duplicate-parameters.js"
|
||||
Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js"
|
||||
Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-duplicate-parameters.js"
|
||||
Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js"
|
||||
Expect Syntax Error: "language/statements/class/dstr/async-gen-meth-ary-ptrn-rest-init-ary.js"
|
||||
Expect Syntax Error: "language/statements/class/dstr/async-gen-meth-ary-ptrn-rest-init-id.js"
|
||||
Expect Syntax Error: "language/statements/class/dstr/async-gen-meth-ary-ptrn-rest-init-obj.js"
|
||||
|
|
@ -541,9 +511,6 @@ Expect Syntax Error: "language/statements/for-in/labelled-fn-stmt-const.js"
|
|||
Expect Syntax Error: "language/statements/for-in/labelled-fn-stmt-let.js"
|
||||
Expect Syntax Error: "language/statements/for-in/labelled-fn-stmt-lhs.js"
|
||||
Expect Syntax Error: "language/statements/for-in/labelled-fn-stmt-var.js"
|
||||
Expect Syntax Error: "language/statements/for-in/var-arguments-fn-strict.js"
|
||||
Expect Syntax Error: "language/statements/for-in/var-arguments-strict.js"
|
||||
Expect Syntax Error: "language/statements/for-in/var-eval-strict.js"
|
||||
Expect Syntax Error: "language/statements/for-of/decl-fun.js"
|
||||
Expect Syntax Error: "language/statements/for-of/dstr/const-ary-ptrn-rest-init-ary.js"
|
||||
Expect Syntax Error: "language/statements/for-of/dstr/const-ary-ptrn-rest-init-id.js"
|
||||
|
|
@ -572,9 +539,6 @@ Expect Syntax Error: "language/statements/for/labelled-fn-stmt-const.js"
|
|||
Expect Syntax Error: "language/statements/for/labelled-fn-stmt-expr.js"
|
||||
Expect Syntax Error: "language/statements/for/labelled-fn-stmt-let.js"
|
||||
Expect Syntax Error: "language/statements/for/labelled-fn-stmt-var.js"
|
||||
Expect Syntax Error: "language/statements/function/13.1-13gs.js"
|
||||
Expect Syntax Error: "language/statements/function/13.1-1gs.js"
|
||||
Expect Syntax Error: "language/statements/function/13.1-4gs.js"
|
||||
Expect Syntax Error: "language/statements/function/13.1-5gs.js"
|
||||
Expect Syntax Error: "language/statements/function/13.1-8gs.js"
|
||||
Expect Syntax Error: "language/statements/function/array-destructuring-param-strict-body.js"
|
||||
|
|
@ -589,12 +553,9 @@ Expect Syntax Error: "language/statements/function/dstr/dflt-ary-ptrn-rest-init-
|
|||
Expect Syntax Error: "language/statements/function/enable-strict-via-body.js"
|
||||
Expect Syntax Error: "language/statements/function/enable-strict-via-outer-body.js"
|
||||
Expect Syntax Error: "language/statements/function/name-arguments-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/function/name-arguments-strict.js"
|
||||
Expect Syntax Error: "language/statements/function/name-eval-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/function/name-eval-strict.js"
|
||||
Expect Syntax Error: "language/statements/function/object-destructuring-param-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/function/param-arguments-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/function/param-arguments-strict.js"
|
||||
Expect Syntax Error: "language/statements/function/param-duplicated-strict-1.js"
|
||||
Expect Syntax Error: "language/statements/function/param-duplicated-strict-2.js"
|
||||
Expect Syntax Error: "language/statements/function/param-duplicated-strict-3.js"
|
||||
|
|
@ -602,7 +563,6 @@ Expect Syntax Error: "language/statements/function/param-duplicated-strict-body-
|
|||
Expect Syntax Error: "language/statements/function/param-duplicated-strict-body-2.js"
|
||||
Expect Syntax Error: "language/statements/function/param-duplicated-strict-body-3.js"
|
||||
Expect Syntax Error: "language/statements/function/param-eval-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/function/param-eval-strict.js"
|
||||
Expect Syntax Error: "language/statements/function/rest-param-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/function/static-init-await-binding-invalid.js"
|
||||
Expect Syntax Error: "language/statements/function/use-strict-with-non-simple-param.js"
|
||||
|
|
@ -644,46 +604,13 @@ Expect Syntax Error: "language/statements/return/S12.9_A1_T6.js"
|
|||
Expect Syntax Error: "language/statements/return/S12.9_A1_T7.js"
|
||||
Expect Syntax Error: "language/statements/return/S12.9_A1_T8.js"
|
||||
Expect Syntax Error: "language/statements/return/S12.9_A1_T9.js"
|
||||
Expect Syntax Error: "language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js"
|
||||
Expect Syntax Error: "language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js"
|
||||
Expect Syntax Error: "language/statements/try/dstr/ary-ptrn-rest-init-ary.js"
|
||||
Expect Syntax Error: "language/statements/try/dstr/ary-ptrn-rest-init-id.js"
|
||||
Expect Syntax Error: "language/statements/try/dstr/ary-ptrn-rest-init-obj.js"
|
||||
Expect Syntax Error: "language/statements/variable/12.2.1-1gs.js"
|
||||
Expect Syntax Error: "language/statements/variable/12.2.1-4gs.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-list-final-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-list-final.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-list-first-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-list-first.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-list-middle-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-list-middle.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-list-repeated.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-single-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-fn-strict-single.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-list-final-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-list-final.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-list-first-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-list-first.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-list-middle-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-list-middle.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-list-repeated.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-single-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/arguments-strict-single.js"
|
||||
Expect Syntax Error: "language/statements/variable/dstr/ary-ptrn-rest-init-ary.js"
|
||||
Expect Syntax Error: "language/statements/variable/dstr/ary-ptrn-rest-init-id.js"
|
||||
Expect Syntax Error: "language/statements/variable/dstr/ary-ptrn-rest-init-obj.js"
|
||||
Expect Syntax Error: "language/statements/variable/dstr/obj-ptrn-elem-id-static-init-await-invalid.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-list-final-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-list-final.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-list-first-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-list-first.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-list-middle-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-list-middle.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-list-repeated.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-single-init.js"
|
||||
Expect Syntax Error: "language/statements/variable/eval-strict-single.js"
|
||||
Expect Syntax Error: "language/statements/variable/id-arguments-strict.js"
|
||||
Expect Syntax Error: "language/statements/variable/id-eval-strict.js"
|
||||
Expect Syntax Error: "language/statements/while/decl-fun.js"
|
||||
Expect Syntax Error: "language/statements/while/labelled-fn-stmt.js"
|
||||
Expect Syntax Error: "language/statements/with/decl-fun.js"
|
||||
|
|
@ -2881,6 +2808,20 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ──────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js:18:1]
|
||||
18 │ $DONOTEVALUATE();
|
||||
19 │ var af = arguments => 1;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js:19:1]
|
||||
19 │ $DONOTEVALUATE();
|
||||
20 │ var af = eval => 1;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× The keyword 'yield' is reserved
|
||||
╭─[language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-yield.js:19:1]
|
||||
19 │ $DONOTEVALUATE();
|
||||
|
|
@ -2895,6 +2836,20 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ───
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js:23:1]
|
||||
23 │ $DONOTEVALUATE();
|
||||
24 │ var af = (arguments) => 1;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js:23:1]
|
||||
23 │ $DONOTEVALUATE();
|
||||
24 │ var af = (eval) => 1;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× The keyword 'yield' is reserved
|
||||
╭─[language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-yield.js:18:1]
|
||||
18 │ $DONOTEVALUATE();
|
||||
|
|
@ -6093,6 +6048,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ─────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js:15:1]
|
||||
15 │
|
||||
16 │ async(arguments) => { }
|
||||
· ─────────
|
||||
17 │
|
||||
╰────
|
||||
|
||||
× Automatic Semicolon Insertion
|
||||
╭─[language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js:13:1]
|
||||
13 │ $DONOTEVALUATE();
|
||||
|
|
@ -6125,6 +6088,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ─────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js:15:1]
|
||||
15 │
|
||||
16 │ async(eval) => { }
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Identifier `bar` has already been declared
|
||||
╭─[language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js:14:1]
|
||||
14 │
|
||||
|
|
@ -6242,6 +6212,21 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
30 │ };
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js:15:1]
|
||||
15 │ $DONOTEVALUATE();
|
||||
16 │ (async function arguments () { })
|
||||
· ─────────
|
||||
17 │
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/async-function/early-errors-expression-binding-identifier-eval.js:15:1]
|
||||
15 │ $DONOTEVALUATE();
|
||||
16 │ (async function eval () { })
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Super calls are not permitted outside constructors or in nested functions inside constructors.
|
||||
│
|
||||
╭─[language/expressions/async-function/early-errors-expression-body-contains-super-call.js:14:1]
|
||||
|
|
@ -6259,6 +6244,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
16 │
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js:15:1]
|
||||
15 │
|
||||
16 │ (async function foo (eval) { })
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Identifier `bar` has already been declared
|
||||
╭─[language/expressions/async-function/early-errors-expression-formals-body-duplicate.js:14:1]
|
||||
14 │
|
||||
|
|
@ -6558,6 +6550,27 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
34 │
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/async-generator/early-errors-expression-arguments-in-formal-parameters.js:17:1]
|
||||
17 │
|
||||
18 │ (async function*(arguments) { });
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/async-generator/early-errors-expression-binding-identifier-arguments.js:18:1]
|
||||
18 │
|
||||
19 │ (async function* arguments() { });
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/async-generator/early-errors-expression-binding-identifier-eval.js:18:1]
|
||||
18 │
|
||||
19 │ (async function* eval() { });
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Super calls are not permitted outside constructors or in nested functions inside constructors.
|
||||
│
|
||||
╭─[language/expressions/async-generator/early-errors-expression-body-contains-super-call.js:16:1]
|
||||
|
|
@ -6574,6 +6587,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ─────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/async-generator/early-errors-expression-eval-in-formal-parameters.js:17:1]
|
||||
17 │
|
||||
18 │ (async function*(eval) { });
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Identifier `a` has already been declared
|
||||
╭─[language/expressions/async-generator/early-errors-expression-formals-body-duplicate-const.js:20:1]
|
||||
20 │
|
||||
|
|
@ -13747,6 +13767,20 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ─────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/function/name-arguments-strict.js:16:1]
|
||||
16 │
|
||||
17 │ (function arguments() {});
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/function/name-eval-strict.js:16:1]
|
||||
16 │
|
||||
17 │ (function eval() {});
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× The keyword 'yield' is reserved
|
||||
╭─[language/expressions/function/param-dflt-yield-strict.js:21:1]
|
||||
21 │ function *g() {
|
||||
|
|
@ -14367,6 +14401,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
25 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/object/11.1.5-1gs.js:17:1]
|
||||
17 │
|
||||
18 │ var obj = { set _11_1_5_1_fun(eval) {}};
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Identifier `__proto__` has already been declared
|
||||
╭─[language/expressions/object/__proto__-duplicate.js:19:1]
|
||||
19 │ ({
|
||||
|
|
@ -14865,6 +14906,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
35 │
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js:16:1]
|
||||
16 │ ({
|
||||
17 │ async foo (arguments) { }
|
||||
· ─────────
|
||||
18 │ })
|
||||
╰────
|
||||
|
||||
× Expect token
|
||||
╭─[language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js:20:1]
|
||||
20 │ async
|
||||
|
|
@ -14899,6 +14948,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
17 │ })
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js:16:1]
|
||||
16 │ ({
|
||||
17 │ async foo(eval) { }
|
||||
· ────
|
||||
18 │ })
|
||||
╰────
|
||||
|
||||
× Expect token
|
||||
╭─[language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js:16:1]
|
||||
16 │ ({
|
||||
|
|
@ -15366,6 +15423,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
19 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/expressions/object/setter-param-arguments-strict-outside.js:17:1]
|
||||
17 │ void {
|
||||
18 │ set x(arguments) {}
|
||||
· ─────────
|
||||
19 │ };
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/expressions/object/setter-param-eval-strict-outside.js:17:1]
|
||||
17 │ void {
|
||||
18 │ set x(eval) {}
|
||||
· ────
|
||||
19 │ };
|
||||
╰────
|
||||
|
||||
× 'super' can only be referenced in a derived class.
|
||||
╭─[language/expressions/optional-chaining/call-expression-super-no-base.js:18:1]
|
||||
18 │
|
||||
|
|
@ -18527,6 +18600,34 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
24 │
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/module-code/early-import-arguments.js:34:1]
|
||||
34 │
|
||||
35 │ import { arguments } from './early-import-arguments.js';
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/module-code/early-import-as-arguments.js:34:1]
|
||||
34 │
|
||||
35 │ import { x as arguments } from './early-import-as-arguments.js';
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/module-code/early-import-as-eval.js:34:1]
|
||||
34 │
|
||||
35 │ import { x as eval } from './early-import-as-eval.js';
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/module-code/early-import-eval.js:34:1]
|
||||
34 │
|
||||
35 │ import { eval } from './early-import-eval.js';
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Identifier `x` has already been declared
|
||||
╭─[language/module-code/early-lex-and-var.js:16:1]
|
||||
16 │
|
||||
|
|
@ -19939,6 +20040,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
30 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js:15:1]
|
||||
15 │
|
||||
16 │ async function foo (arguments) { }
|
||||
· ─────────
|
||||
17 │
|
||||
╰────
|
||||
|
||||
× Unexpected token
|
||||
╭─[language/statements/async-function/early-errors-declaration-await-in-formals-default.js:13:1]
|
||||
13 │ $DONOTEVALUATE();
|
||||
|
|
@ -19953,6 +20062,21 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ─────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js:15:1]
|
||||
15 │ $DONOTEVALUATE();
|
||||
16 │ async function arguments () { }
|
||||
· ─────────
|
||||
17 │
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/async-function/early-errors-declaration-binding-identifier-eval.js:15:1]
|
||||
15 │ $DONOTEVALUATE();
|
||||
16 │ async function eval () { }
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Super calls are not permitted outside constructors or in nested functions inside constructors.
|
||||
│
|
||||
╭─[language/statements/async-function/early-errors-declaration-body-contains-super-call.js:14:1]
|
||||
|
|
@ -19969,6 +20093,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ─────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js:15:1]
|
||||
15 │
|
||||
16 │ async function foo (eval) { }
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Identifier `bar` has already been declared
|
||||
╭─[language/statements/async-function/early-errors-declaration-formals-body-duplicate.js:14:1]
|
||||
14 │
|
||||
|
|
@ -21112,6 +21243,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ─────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js:14:1]
|
||||
14 │ class Foo {
|
||||
15 │ async foo (arguments) { }
|
||||
· ─────────
|
||||
16 │ }
|
||||
╰────
|
||||
|
||||
× Unexpected token
|
||||
╭─[language/statements/class/definition/early-errors-class-method-await-in-formals-default.js:14:1]
|
||||
14 │ class Foo {
|
||||
|
|
@ -21137,6 +21276,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
16 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js:14:1]
|
||||
14 │ class Foo {
|
||||
15 │ async foo(eval) { }
|
||||
· ────
|
||||
16 │ }
|
||||
╰────
|
||||
|
||||
× Expect token
|
||||
╭─[language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js:16:1]
|
||||
16 │ class Foo {
|
||||
|
|
@ -27652,6 +27799,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
19 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/for-in/var-arguments-fn-strict-init.js:17:1]
|
||||
17 │ function f() {
|
||||
18 │ for (var arguments = 42 in null) {}
|
||||
· ─────────
|
||||
19 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/for-in/var-arguments-fn-strict.js:17:1]
|
||||
17 │ function f() {
|
||||
18 │ for (var arguments in null) {}
|
||||
· ─────────
|
||||
19 │ }
|
||||
╰────
|
||||
|
||||
× for-in loop variable declaration may not have an initializer
|
||||
╭─[language/statements/for-in/var-arguments-strict-init.js:16:1]
|
||||
16 │
|
||||
|
|
@ -27659,6 +27822,20 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ──────────────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/for-in/var-arguments-strict-init.js:16:1]
|
||||
16 │
|
||||
17 │ for (var arguments = 42 in null) {}
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/for-in/var-arguments-strict.js:14:1]
|
||||
14 │
|
||||
15 │ for (var arguments in null) {}
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× for-in loop variable declaration may not have an initializer
|
||||
╭─[language/statements/for-in/var-eval-strict-init.js:14:1]
|
||||
14 │
|
||||
|
|
@ -27666,6 +27843,20 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ─────────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/for-in/var-eval-strict-init.js:14:1]
|
||||
14 │
|
||||
15 │ for (var eval = 42 in null) {}
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/for-in/var-eval-strict.js:14:1]
|
||||
14 │
|
||||
15 │ for (var eval in null) {}
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Async functions can only be declared at the top level or inside a block
|
||||
╭─[language/statements/for-of/decl-async-fun.js:19:1]
|
||||
19 │
|
||||
|
|
@ -28568,6 +28759,27 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/function/13.1-13gs.js:16:1]
|
||||
16 │
|
||||
17 │ function arguments() { };
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/function/13.1-1gs.js:17:1]
|
||||
17 │
|
||||
18 │ function _13_1_1_fun(eval) { }
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/function/13.1-4gs.js:17:1]
|
||||
17 │
|
||||
18 │ var _13_1_4_fun = function (arguments) { };
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Invalid Unicode escape sequence
|
||||
╭─[language/statements/function/S13_A7_T3.js:14:1]
|
||||
14 │
|
||||
|
|
@ -28771,6 +28983,27 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ╰── Expect `(` here, but found `.`
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/function/name-arguments-strict.js:16:1]
|
||||
16 │
|
||||
17 │ function arguments() { }
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/function/name-eval-strict.js:16:1]
|
||||
16 │
|
||||
17 │ function eval() { }
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/function/param-arguments-strict.js:21:1]
|
||||
21 │
|
||||
22 │ function _13_1_3_fun(arguments) { }
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× The keyword 'yield' is reserved
|
||||
╭─[language/statements/function/param-dflt-yield-strict.js:21:1]
|
||||
21 │ function *g() {
|
||||
|
|
@ -28779,6 +29012,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
23 │ paramValue = x;
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/function/param-eval-strict.js:21:1]
|
||||
21 │
|
||||
22 │ function _13_1_1_fun(eval) { }
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Rest element must be last element
|
||||
╭─[language/statements/function/rest-params-trailing-comma-early-error.js:55:1]
|
||||
55 │
|
||||
|
|
@ -30366,6 +30606,20 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
19 │ finally{}
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js:15:1]
|
||||
15 │
|
||||
16 │ try { } catch (arguments) { }
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js:15:1]
|
||||
15 │
|
||||
16 │ try { } catch (eval) { }
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Rest element must be last element
|
||||
╭─[language/statements/try/dstr/ary-ptrn-rest-not-final-ary.js:31:1]
|
||||
31 │ throw [1, 2, 3];
|
||||
|
|
@ -30439,6 +30693,20 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
25 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/12.2.1-1gs.js:16:1]
|
||||
16 │
|
||||
17 │ for (var eval in arrObj) { }
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/12.2.1-4gs.js:16:1]
|
||||
16 │
|
||||
17 │ var arguments;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Automatic Semicolon Insertion
|
||||
╭─[language/statements/variable/S12.2_A8_T1.js:16:1]
|
||||
16 │ //CHECK#1
|
||||
|
|
@ -30517,6 +30785,156 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
╰────
|
||||
help: Try insert a semicolon here
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-list-final-init.js:18:1]
|
||||
18 │ function f() {
|
||||
19 │ var a, arguments = 42;
|
||||
· ─────────
|
||||
20 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-list-final.js:18:1]
|
||||
18 │ function f() {
|
||||
19 │ var a = 42, arguments;
|
||||
· ─────────
|
||||
20 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-list-first-init.js:17:1]
|
||||
17 │ function f() {
|
||||
18 │ var arguments = 42, a;
|
||||
· ─────────
|
||||
19 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-list-first.js:18:1]
|
||||
18 │ function f() {
|
||||
19 │ var arguments, a;
|
||||
· ─────────
|
||||
20 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-list-middle-init.js:17:1]
|
||||
17 │ function f() {
|
||||
18 │ var a, arguments = 42, b;
|
||||
· ─────────
|
||||
19 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-list-middle.js:18:1]
|
||||
18 │ function f() {
|
||||
19 │ var a, arguments, b;
|
||||
· ─────────
|
||||
20 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-list-repeated.js:18:1]
|
||||
18 │ function f() {
|
||||
19 │ var arguments, arguments = 42;
|
||||
· ─────────
|
||||
20 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-list-repeated.js:18:1]
|
||||
18 │ function f() {
|
||||
19 │ var arguments, arguments = 42;
|
||||
· ─────────
|
||||
20 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-single-init.js:18:1]
|
||||
18 │ function f() {
|
||||
19 │ var arguments = 42;
|
||||
· ─────────
|
||||
20 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-fn-strict-single.js:18:1]
|
||||
18 │ function f() {
|
||||
19 │ var arguments;
|
||||
· ─────────
|
||||
20 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-list-final-init.js:17:1]
|
||||
17 │
|
||||
18 │ var a, arguments = 42;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-list-final.js:15:1]
|
||||
15 │
|
||||
16 │ var a = 42, arguments;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-list-first-init.js:14:1]
|
||||
14 │
|
||||
15 │ var arguments = 42, a;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-list-first.js:15:1]
|
||||
15 │
|
||||
16 │ var arguments, a;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-list-middle-init.js:14:1]
|
||||
14 │
|
||||
15 │ var a, arguments = 42, b;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-list-middle.js:15:1]
|
||||
15 │
|
||||
16 │ var a, arguments, b;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-list-repeated.js:17:1]
|
||||
17 │
|
||||
18 │ var arguments, arguments = 42;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-list-repeated.js:17:1]
|
||||
17 │
|
||||
18 │ var arguments, arguments = 42;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-single-init.js:17:1]
|
||||
17 │
|
||||
18 │ var arguments = 42;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/arguments-strict-single.js:15:1]
|
||||
15 │
|
||||
16 │ var arguments;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot use `await` as an identifier in an async context
|
||||
╭─[language/statements/variable/dstr/ary-ptrn-elem-id-static-init-await-invalid.js:23:1]
|
||||
23 │ static {
|
||||
|
|
@ -30552,6 +30970,90 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
30 │
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-list-final-init.js:14:1]
|
||||
14 │
|
||||
15 │ var a, eval = 42;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-list-final.js:15:1]
|
||||
15 │
|
||||
16 │ var a, eval;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-list-first-init.js:17:1]
|
||||
17 │
|
||||
18 │ var eval = 42, a;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-list-first.js:15:1]
|
||||
15 │
|
||||
16 │ var eval, a = 42;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-list-middle-init.js:14:1]
|
||||
14 │
|
||||
15 │ var a, eval = 42, b;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-list-middle.js:14:1]
|
||||
14 │
|
||||
15 │ var a, eval, b;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-list-repeated.js:17:1]
|
||||
17 │
|
||||
18 │ var eval, eval;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-list-repeated.js:17:1]
|
||||
17 │
|
||||
18 │ var eval, eval;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-single-init.js:17:1]
|
||||
17 │
|
||||
18 │ var eval = 42;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/eval-strict-single.js:17:1]
|
||||
17 │
|
||||
18 │ var eval;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[language/statements/variable/id-arguments-strict.js:15:1]
|
||||
15 │
|
||||
16 │ var arguments;
|
||||
· ─────────
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[language/statements/variable/id-eval-strict.js:15:1]
|
||||
15 │
|
||||
16 │ var eval;
|
||||
· ────
|
||||
╰────
|
||||
|
||||
× Cannot use `await` as an identifier in an async context
|
||||
╭─[language/statements/variable/static-init-await-binding-invalid.js:23:1]
|
||||
23 │ static {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
TypeScript Summary:
|
||||
AST Parsed : 2305/2338 (98.59%)
|
||||
Positive Passed: 2305/2338 (98.59%)
|
||||
Negative Passed: 635/2532 (25.08%)
|
||||
Negative Passed: 637/2532 (25.16%)
|
||||
Expect Syntax Error: "Symbols/ES5SymbolProperty2.ts"
|
||||
Expect Syntax Error: "Symbols/ES5SymbolProperty6.ts"
|
||||
Expect Syntax Error: "additionalChecks/noPropertyAccessFromIndexSignature1.ts"
|
||||
|
|
@ -381,8 +381,6 @@ Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts
|
|||
Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments09.ts"
|
||||
Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments10.ts"
|
||||
Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts"
|
||||
Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments12.ts"
|
||||
Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments12_ES6.ts"
|
||||
Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts"
|
||||
Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts"
|
||||
Expect Syntax Error: "es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts"
|
||||
|
|
@ -4594,6 +4592,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
73 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[es6/arrowFunction/emitArrowFunctionWhenUsingArguments12.ts:3:1]
|
||||
3 │ class C {
|
||||
4 │ f(arguments) {
|
||||
· ─────────
|
||||
5 │ var a = () => arguments;
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[es6/arrowFunction/emitArrowFunctionWhenUsingArguments12_ES6.ts:3:1]
|
||||
3 │ class C {
|
||||
4 │ f(arguments) {
|
||||
· ─────────
|
||||
5 │ var a = () => arguments;
|
||||
╰────
|
||||
|
||||
× Invalid characters after number
|
||||
╭─[es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteralError.ts:1:1]
|
||||
1 │ // error
|
||||
|
|
@ -4621,6 +4635,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
3 │ var oct2 = 0o34318592;
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:4:1]
|
||||
4 │ public implements() { }
|
||||
5 │ public foo(arguments: any) { }
|
||||
· ─────────
|
||||
6 │ private bar(eval:any) {
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:5:1]
|
||||
5 │ public foo(arguments: any) { }
|
||||
6 │ private bar(eval:any) {
|
||||
· ────
|
||||
7 │ arguments = "hello";
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:6:1]
|
||||
6 │ private bar(eval:any) {
|
||||
|
|
@ -10429,6 +10459,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
24 │ }
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'eval' in strict mode
|
||||
╭─[salsa/plainJSBinderErrors.ts:25:1]
|
||||
25 │ evalArguments() {
|
||||
26 │ const eval = 7
|
||||
· ────
|
||||
27 │ const arguments = 8
|
||||
╰────
|
||||
|
||||
× Cannot assign to 'arguments' in strict mode
|
||||
╭─[salsa/plainJSBinderErrors.ts:26:1]
|
||||
26 │ const eval = 7
|
||||
27 │ const arguments = 8
|
||||
· ─────────
|
||||
28 │ }
|
||||
╰────
|
||||
|
||||
× '0'-prefixed octal literals and octal escape sequences are deprecated
|
||||
╭─[salsa/plainJSBinderErrors.ts:29:1]
|
||||
29 │ withOctal() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue