JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsBinaryExpression { left: JsBinaryExpression { left: JsNewExpression { new_token: NEW_KW@0..4 "new" [] [Whitespace(" ")], callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@4..5 "A" [] [], }, }, type_arguments: missing (optional), arguments: missing (optional), }, operator_token: L_ANGLE@5..6 "<" [] [], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@6..10 "test" [] [], }, }, }, operator_token: R_ANGLE@10..11 ">" [] [], right: TsTypeAssertionExpression { l_angle_token: L_ANGLE@11..12 "<" [] [], ty: TsReferenceType { name: JsReferenceIdentifier { value_token: IDENT@12..16 "test" [] [], }, type_arguments: missing (optional), }, r_angle_token: R_ANGLE@16..17 ">" [] [], expression: JsParenthesizedExpression { l_paren_token: L_PAREN@17..18 "(" [] [], expression: missing (required), r_paren_token: R_PAREN@18..19 ")" [] [], }, }, }, semicolon_token: SEMICOLON@19..20 ";" [] [], }, ], eof_token: EOF@20..21 "" [Newline("\n")] [], } 0: JS_MODULE@0..21 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..20 0: JS_EXPRESSION_STATEMENT@0..20 0: JS_BINARY_EXPRESSION@0..19 0: JS_BINARY_EXPRESSION@0..10 0: JS_NEW_EXPRESSION@0..5 0: NEW_KW@0..4 "new" [] [Whitespace(" ")] 1: JS_IDENTIFIER_EXPRESSION@4..5 0: JS_REFERENCE_IDENTIFIER@4..5 0: IDENT@4..5 "A" [] [] 2: (empty) 3: (empty) 1: L_ANGLE@5..6 "<" [] [] 2: JS_IDENTIFIER_EXPRESSION@6..10 0: JS_REFERENCE_IDENTIFIER@6..10 0: IDENT@6..10 "test" [] [] 1: R_ANGLE@10..11 ">" [] [] 2: TS_TYPE_ASSERTION_EXPRESSION@11..19 0: L_ANGLE@11..12 "<" [] [] 1: TS_REFERENCE_TYPE@12..16 0: JS_REFERENCE_IDENTIFIER@12..16 0: IDENT@12..16 "test" [] [] 1: (empty) 2: R_ANGLE@16..17 ">" [] [] 3: JS_PARENTHESIZED_EXPRESSION@17..19 0: L_PAREN@17..18 "(" [] [] 1: (empty) 2: R_PAREN@18..19 ")" [] [] 1: SEMICOLON@19..20 ";" [] [] 4: EOF@20..21 "" [Newline("\n")] [] -- ts_new_operator.ts:1:19 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Parenthesized expression didnt contain anything > 1 │ new A(); │ ^ 2 │ i Expected an expression here -- new A();