JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsThrowStatement { throw_token: THROW_KW@0..5 "throw" [] [], argument: missing (required), semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsNewExpression { new_token: NEW_KW@5..10 "new" [Newline("\n")] [Whitespace(" ")], callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@10..15 "Error" [] [], }, }, type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@15..16 "(" [] [], args: JsCallArgumentList [ JsStringLiteralExpression { value_token: JS_STRING_LITERAL@16..26 "\"oh no :(\"" [] [], }, ], r_paren_token: R_PAREN@26..27 ")" [] [], }, }, semicolon_token: missing (optional), }, JsThrowStatement { throw_token: THROW_KW@27..33 "throw" [Newline("\n")] [], argument: missing (required), semicolon_token: SEMICOLON@33..34 ";" [] [], }, ], eof_token: EOF@34..35 "" [Newline("\n")] [], } 0: JS_MODULE@0..35 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..34 0: JS_THROW_STATEMENT@0..5 0: THROW_KW@0..5 "throw" [] [] 1: (empty) 2: (empty) 1: JS_EXPRESSION_STATEMENT@5..27 0: JS_NEW_EXPRESSION@5..27 0: NEW_KW@5..10 "new" [Newline("\n")] [Whitespace(" ")] 1: JS_IDENTIFIER_EXPRESSION@10..15 0: JS_REFERENCE_IDENTIFIER@10..15 0: IDENT@10..15 "Error" [] [] 2: (empty) 3: JS_CALL_ARGUMENTS@15..27 0: L_PAREN@15..16 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@16..26 0: JS_STRING_LITERAL_EXPRESSION@16..26 0: JS_STRING_LITERAL@16..26 "\"oh no :(\"" [] [] 2: R_PAREN@26..27 ")" [] [] 1: (empty) 2: JS_THROW_STATEMENT@27..34 0: THROW_KW@27..33 "throw" [Newline("\n")] [] 1: (empty) 2: SEMICOLON@33..34 ";" [] [] 4: EOF@34..35 "" [Newline("\n")] [] -- throw_stmt_err.js:2:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Linebreaks between a throw statement and the error to be thrown are not allowed 1 │ throw > 2 │ new Error("oh no :(") │ ^^^ 3 │ throw; 4 │ i A linebreak is not allowed here i Help: did you mean to throw this? 1 │ throw > 2 │ new Error("oh no :(") │ ^^^ 3 │ throw; 4 │ -- throw_stmt_err.js:3:6 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected an expression but instead found ';'. 1 │ throw 2 │ new Error("oh no :(") > 3 │ throw; │ ^ 4 │ i Expected an expression here. 1 │ throw 2 │ new Error("oh no :(") > 3 │ throw; │ ^ 4 │ -- throw new Error("oh no :(") throw;