mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 20:32:10 +00:00
feat(parser): check ReturnStatement in return context
This commit is contained in:
parent
84eaa0b7e3
commit
d6e8c6fb2f
4 changed files with 247 additions and 28 deletions
|
|
@ -101,7 +101,6 @@ impl<'a> Parser<'a> {
|
|||
}
|
||||
Kind::Export => self.parse_export_declaration(),
|
||||
// [+Return] ReturnStatement[?Yield, ?Await]
|
||||
// Error is checked in linter
|
||||
Kind::Return => self.parse_return_statement(),
|
||||
Kind::Var => self.parse_variable_statement(stmt_ctx),
|
||||
Kind::Const if !(self.ts_enabled() && self.is_at_enum_declaration()) => {
|
||||
|
|
@ -374,6 +373,12 @@ impl<'a> Parser<'a> {
|
|||
self.asi()?;
|
||||
Some(expr)
|
||||
};
|
||||
if !self.ctx.has_return() {
|
||||
self.error(diagnostics::ReturnStatementOnlyInFunctionBody(Span::new(
|
||||
span.start,
|
||||
span.start + 6,
|
||||
)));
|
||||
}
|
||||
Ok(self.ast.return_statement(self.end_span(span), argument))
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Babel Summary:
|
||||
AST Parsed : 2053/2069 (99.23%)
|
||||
Positive Passed: 2053/2069 (99.23%)
|
||||
Negative Passed: 1061/1502 (70.64%)
|
||||
AST Parsed : 2051/2069 (99.13%)
|
||||
Positive Passed: 2051/2069 (99.13%)
|
||||
Negative Passed: 1063/1502 (70.77%)
|
||||
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"
|
||||
|
|
@ -31,7 +31,6 @@ Expect Syntax Error: "core/scope/undecl-export-builtin-as/input.js"
|
|||
Expect Syntax Error: "core/scope/undecl-export-builtin/input.js"
|
||||
Expect Syntax Error: "core/scope/undecl-export-if/input.js"
|
||||
Expect Syntax Error: "core/scope/undecl-export/input.js"
|
||||
Expect Syntax Error: "core/uncategorised/454/input.js"
|
||||
Expect Syntax Error: "core/uncategorised/466/input.js"
|
||||
Expect Syntax Error: "core/uncategorised/467/input.js"
|
||||
Expect Syntax Error: "core/uncategorised/468/input.js"
|
||||
|
|
@ -245,7 +244,6 @@ Expect Syntax Error: "esprima/invalid-syntax/migrated_0093/input.js"
|
|||
Expect Syntax Error: "esprima/invalid-syntax/migrated_0094/input.js"
|
||||
Expect Syntax Error: "esprima/invalid-syntax/migrated_0100/input.js"
|
||||
Expect Syntax Error: "esprima/invalid-syntax/migrated_0101/input.js"
|
||||
Expect Syntax Error: "esprima/invalid-syntax/migrated_0171/input.js"
|
||||
Expect Syntax Error: "esprima/invalid-syntax/migrated_0183/input.js"
|
||||
Expect Syntax Error: "esprima/invalid-syntax/migrated_0184/input.js"
|
||||
Expect Syntax Error: "esprima/invalid-syntax/migrated_0185/input.js"
|
||||
|
|
@ -465,6 +463,23 @@ Expect to Parse: "core/scope/dupl-bind-gen-gen-script/input.js"
|
|||
· ─┬─
|
||||
· ╰── It can not be redeclared here
|
||||
╰────
|
||||
Expect to Parse: "core/uncategorised/327/input.js"
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[core/uncategorised/327/input.js:1:1]
|
||||
1 │ return {} / 2
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
Expect to Parse: "core/uncategorised/328/input.js"
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[core/uncategorised/328/input.js:1:1]
|
||||
1 │ return
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
2 │ {}
|
||||
╰────
|
||||
Expect to Parse: "typescript/arrow-function/generic-tsx-babel-7/input.ts"
|
||||
|
||||
× Expect token
|
||||
|
|
@ -1868,6 +1883,13 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts"
|
|||
· ╰── Unterminated string
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[core/uncategorised/454/input.js:1:1]
|
||||
1 │ return
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
|
||||
× Illegal break statement
|
||||
╭─[core/uncategorised/455/input.js:1:1]
|
||||
1 │ break
|
||||
|
|
@ -7861,6 +7883,13 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts"
|
|||
· ─
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[esprima/invalid-syntax/migrated_0171/input.js:1:1]
|
||||
1 │ return
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
|
||||
× Illegal break statement
|
||||
╭─[esprima/invalid-syntax/migrated_0172/input.js:1:1]
|
||||
1 │ break
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Test262 Summary:
|
||||
AST Parsed : 44015/44034 (99.96%)
|
||||
Positive Passed: 44015/44034 (99.96%)
|
||||
Negative Passed: 3302/3917 (84.30%)
|
||||
Negative Passed: 3315/3917 (84.63%)
|
||||
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"
|
||||
|
|
@ -302,7 +302,6 @@ 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"
|
||||
Expect Syntax Error: "language/global-code/new.target.js"
|
||||
Expect Syntax Error: "language/global-code/return.js"
|
||||
Expect Syntax Error: "language/import/dup-bound-names.js"
|
||||
Expect Syntax Error: "language/import/json-invalid.js"
|
||||
Expect Syntax Error: "language/import/json-named-bindings.js"
|
||||
|
|
@ -323,7 +322,6 @@ 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-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"
|
||||
Expect Syntax Error: "language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-declaration-params.js"
|
||||
Expect Syntax Error: "language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-expr-body.js"
|
||||
|
|
@ -464,7 +462,6 @@ Expect Syntax Error: "language/statements/class/method/object-destructuring-para
|
|||
Expect Syntax Error: "language/statements/class/method/rest-param-strict-body.js"
|
||||
Expect Syntax Error: "language/statements/class/static-gen-method-param-dflt-yield.js"
|
||||
Expect Syntax Error: "language/statements/class/static-init-invalid-await.js"
|
||||
Expect Syntax Error: "language/statements/class/static-init-invalid-return.js"
|
||||
Expect Syntax Error: "language/statements/const/dstr/ary-ptrn-rest-init-ary.js"
|
||||
Expect Syntax Error: "language/statements/const/dstr/ary-ptrn-rest-init-id.js"
|
||||
Expect Syntax Error: "language/statements/const/dstr/ary-ptrn-rest-init-obj.js"
|
||||
|
|
@ -594,16 +591,6 @@ Expect Syntax Error: "language/statements/labeled/decl-fun-strict.js"
|
|||
Expect Syntax Error: "language/statements/let/dstr/ary-ptrn-rest-init-ary.js"
|
||||
Expect Syntax Error: "language/statements/let/dstr/ary-ptrn-rest-init-id.js"
|
||||
Expect Syntax Error: "language/statements/let/dstr/ary-ptrn-rest-init-obj.js"
|
||||
Expect Syntax Error: "language/statements/return/S12.9_A1_T1.js"
|
||||
Expect Syntax Error: "language/statements/return/S12.9_A1_T10.js"
|
||||
Expect Syntax Error: "language/statements/return/S12.9_A1_T2.js"
|
||||
Expect Syntax Error: "language/statements/return/S12.9_A1_T3.js"
|
||||
Expect Syntax Error: "language/statements/return/S12.9_A1_T4.js"
|
||||
Expect Syntax Error: "language/statements/return/S12.9_A1_T5.js"
|
||||
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/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"
|
||||
|
|
@ -16157,6 +16144,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ──
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/global-code/return.js:21:1]
|
||||
21 │
|
||||
22 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
|
||||
× Super calls are not permitted outside constructors or in nested functions inside constructors.
|
||||
│
|
||||
╭─[language/global-code/super-call-arrow.js:35:1]
|
||||
|
|
@ -19484,6 +19479,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
· ╰── Expected an expression here
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/module-code/parse-err-return.js:31:1]
|
||||
31 │
|
||||
32 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
|
||||
× Automatic Semicolon Insertion
|
||||
╭─[language/module-code/parse-err-semi-dflt-expr.js:26:1]
|
||||
26 │
|
||||
|
|
@ -26338,6 +26341,15 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
24 │ }
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/class/static-init-invalid-return.js:23:1]
|
||||
23 │ static {
|
||||
24 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
25 │ }
|
||||
╰────
|
||||
|
||||
× Super calls are not permitted outside constructors or in nested functions inside constructors.
|
||||
│
|
||||
╭─[language/statements/class/static-init-invalid-super-call.js:19:1]
|
||||
|
|
@ -29867,6 +29879,105 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js"
|
|||
╰────
|
||||
help: Try insert a semicolon here
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T1.js:17:1]
|
||||
17 │ var x=1;
|
||||
18 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
19 │ var y=2;
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T10.js:16:1]
|
||||
16 │ //CHECK#1
|
||||
17 │ return (0);
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
18 │ //
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T2.js:17:1]
|
||||
17 │ var x=1;
|
||||
18 │ return x;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
19 │ var y=2;
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T3.js:17:1]
|
||||
17 │ try {
|
||||
18 │ return 1;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
19 │ } catch(e){
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T3.js:19:1]
|
||||
19 │ } catch(e){
|
||||
20 │ return 1;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
21 │ }
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T4.js:16:1]
|
||||
16 │ //CHECK#1
|
||||
17 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
18 │ //
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T5.js:20:1]
|
||||
20 │ var x=1;
|
||||
21 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
22 │ var y=2;
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T6.js:20:1]
|
||||
20 │ var x=1;
|
||||
21 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
22 │ var y=2;
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T7.js:20:1]
|
||||
20 │ var x=1;
|
||||
21 │ return x;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
22 │ var y=2;
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T8.js:20:1]
|
||||
20 │ var x=1;
|
||||
21 │ return x;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
22 │ var y=2;
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[language/statements/return/S12.9_A1_T9.js:19:1]
|
||||
19 │ } catch(e){
|
||||
20 │ return e;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
21 │ }
|
||||
╰────
|
||||
|
||||
× Identifier `default` has already been declared
|
||||
╭─[language/statements/switch/S12.11_A2_T1.js:20:1]
|
||||
20 │ result += 2;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
TypeScript Summary:
|
||||
AST Parsed : 2305/2338 (98.59%)
|
||||
Positive Passed: 2305/2338 (98.59%)
|
||||
Negative Passed: 637/2532 (25.16%)
|
||||
Negative Passed: 644/2532 (25.43%)
|
||||
Expect Syntax Error: "Symbols/ES5SymbolProperty2.ts"
|
||||
Expect Syntax Error: "Symbols/ES5SymbolProperty6.ts"
|
||||
Expect Syntax Error: "additionalChecks/noPropertyAccessFromIndexSignature1.ts"
|
||||
|
|
@ -94,7 +94,6 @@ Expect Syntax Error: "classes/classStaticBlock/classStaticBlock19.ts"
|
|||
Expect Syntax Error: "classes/classStaticBlock/classStaticBlock23.ts"
|
||||
Expect Syntax Error: "classes/classStaticBlock/classStaticBlock3.ts"
|
||||
Expect Syntax Error: "classes/classStaticBlock/classStaticBlock4.ts"
|
||||
Expect Syntax Error: "classes/classStaticBlock/classStaticBlock7.ts"
|
||||
Expect Syntax Error: "classes/classStaticBlock/classStaticBlock9.ts"
|
||||
Expect Syntax Error: "classes/classStaticBlock/classStaticBlockUseBeforeDef2.ts"
|
||||
Expect Syntax Error: "classes/classStaticBlock/classStaticBlockUseBeforeDef3.ts"
|
||||
|
|
@ -1164,7 +1163,6 @@ Expect Syntax Error: "parser/ecmascript5/ErrorRecovery/ParameterLists/parserErro
|
|||
Expect Syntax Error: "parser/ecmascript5/ErrorRecovery/parserCommaInTypeMemberList2.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/ErrorRecovery/parserModifierOnPropertySignature1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/ErrorRecovery/parserModifierOnStatementInBlock2.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/ExportAssignments/parserExportAssignment1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/ExportAssignments/parserExportAssignment2.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/ExportAssignments/parserExportAssignment5.ts"
|
||||
|
|
@ -1271,7 +1269,6 @@ Expect Syntax Error: "parser/ecmascript5/RegressionTests/parser553699.ts"
|
|||
Expect Syntax Error: "parser/ecmascript5/RegressionTests/parser618973.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/RegressionTests/parserTernaryAndCommaOperators1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/RegularExpressions/parseRegularExpressionMixedWithComments.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/RegularExpressions/parserRegularExpression1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/RegularExpressions/parserRegularExpression2.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/RegularExpressions/parserRegularExpression3.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/RegularExpressions/parserRegularExpression4.ts"
|
||||
|
|
@ -1282,8 +1279,6 @@ Expect Syntax Error: "parser/ecmascript5/RegularExpressions/parserRegularExpress
|
|||
Expect Syntax Error: "parser/ecmascript5/Statements/BreakStatements/parser_breakInIterationOrSwitchStatement4.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/ContinueStatements/parser_continueInIterationStatement4.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/ContinueStatements/parser_continueNotInIterationStatement4.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement2.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserBlockStatement1.d.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserDebuggerStatement1.d.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserDoStatement1.d.ts"
|
||||
|
|
@ -1311,7 +1306,6 @@ Expect Syntax Error: "parser/ecmascript5/Statements/parserForStatement5.ts"
|
|||
Expect Syntax Error: "parser/ecmascript5/Statements/parserIfStatement1.d.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserIfStatement2.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserLabeledStatement1.d.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserReturnStatement1.d.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserSwitchStatement1.d.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserThrowStatement1.d.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/Statements/parserTryStatement1.d.ts"
|
||||
|
|
@ -1367,7 +1361,6 @@ Expect Syntax Error: "parser/ecmascript5/parserArgumentList1.ts"
|
|||
Expect Syntax Error: "parser/ecmascript5/parserAstSpans1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/parserImportDeclaration1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/parserNoASIOnCallAfterFunctionExpression1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/parserNotRegex1.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/parserObjectCreationArrayLiteral2.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/parserObjectCreationArrayLiteral4.ts"
|
||||
Expect Syntax Error: "parser/ecmascript5/parserRealSource1.ts"
|
||||
|
|
@ -2829,6 +2822,24 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
14 │
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[classes/classStaticBlock/classStaticBlock7.ts:4:1]
|
||||
4 │ yield 1;
|
||||
5 │ return 1;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
6 │ }
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[classes/classStaticBlock/classStaticBlock7.ts:35:1]
|
||||
35 │ static {
|
||||
36 │ return 1;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
37 │
|
||||
╰────
|
||||
|
||||
× Jump target cannot cross function boundary.
|
||||
╭─[classes/classStaticBlock/classStaticBlock8.ts:5:1]
|
||||
5 │ if (v === 1) {
|
||||
|
|
@ -8745,6 +8756,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
· ─
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[parser/ecmascript5/ErrorRecovery/ModuleElements/parserErrorRecovery_ModuleElement1.ts:1:1]
|
||||
1 │ return foo;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
2 │ }
|
||||
╰────
|
||||
|
||||
× Unexpected token
|
||||
╭─[parser/ecmascript5/ErrorRecovery/ModuleElements/parserErrorRecovery_ModuleElement1.ts:1:1]
|
||||
1 │ return foo;
|
||||
|
|
@ -8988,6 +9007,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
╰────
|
||||
help: Try insert a semicolon here
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts:1:1]
|
||||
1 │ return {
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
2 │
|
||||
╰────
|
||||
|
||||
× Automatic Semicolon Insertion
|
||||
╭─[parser/ecmascript5/ErrorRecovery/parserUnfinishedTypeNameBeforeKeyword1.ts:1:1]
|
||||
1 │ var x: TypeModule1.
|
||||
|
|
@ -9554,6 +9581,13 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
╰────
|
||||
help: Try insert a semicolon here
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[parser/ecmascript5/RegularExpressions/parserRegularExpression1.ts:1:1]
|
||||
1 │ return /(#?-?\d*\.\d\w*%?)|(@?#?[\w-?]+%?)/g;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
|
||||
× Unexpected flag a in regular expression literal
|
||||
╭─[parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity3.ts:1:1]
|
||||
1 │ if (1) /regexp/a.foo();
|
||||
|
|
@ -9926,6 +9960,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
4 │ while (true) {
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement1.ts:1:1]
|
||||
1 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement2.ts:1:1]
|
||||
1 │ {
|
||||
2 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
3 │ }
|
||||
╰────
|
||||
|
||||
× Illegal break statement
|
||||
╭─[parser/ecmascript5/Statements/parserBreakStatement1.d.ts:1:1]
|
||||
1 │ break;
|
||||
|
|
@ -10044,6 +10094,13 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
2 │ }
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[parser/ecmascript5/Statements/parserReturnStatement1.d.ts:1:1]
|
||||
1 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
|
||||
× 'with' statements are not allowed
|
||||
╭─[parser/ecmascript5/Statements/parserWithStatement1.d.ts:1:1]
|
||||
1 │ with (foo) {
|
||||
|
|
@ -10058,6 +10115,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
2 │ return;
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[parser/ecmascript5/Statements/parserWithStatement2.ts:1:1]
|
||||
1 │ with (1)
|
||||
2 │ return;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
╰────
|
||||
|
||||
× 'with' statements are not allowed
|
||||
╭─[parser/ecmascript5/StrictMode/parserStrictMode14.ts:1:1]
|
||||
1 │ "use strict";
|
||||
|
|
@ -10142,6 +10207,15 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts"
|
|||
· ╰── Unterminated multiline comment
|
||||
╰────
|
||||
|
||||
× TS1108: A 'return' statement can only be used within a function body
|
||||
╭─[parser/ecmascript5/parserNotRegex1.ts:2:1]
|
||||
2 │ {
|
||||
3 │ return true;
|
||||
· ───┬──
|
||||
· ╰── A 'return' statement can only be used within a function body.
|
||||
4 │ }
|
||||
╰────
|
||||
|
||||
× Unexpected token
|
||||
╭─[parser/ecmascript5/parserObjectCreationArrayLiteral1.ts:1:1]
|
||||
1 │ new Foo[];
|
||||
|
|
|
|||
Loading…
Reference in a new issue