JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsExpressionStatement {
expression: JsxTagExpression {
tag: JsxElement {
opening_element: JsxOpeningElement {
l_angle_token: L_ANGLE@0..1 "<" [] [],
name: JsxName {
value_token: JSX_IDENT@1..5 "test" [] [],
},
type_arguments: missing (optional),
attributes: JsxAttributeList [],
r_angle_token: R_ANGLE@5..6 ">" [] [],
},
children: JsxChildList [
JsxExpressionChild {
l_curly_token: L_CURLY@6..8 "{" [] [Whitespace(" ")],
expression: JsBinaryExpression {
left: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@8..10 "4" [] [Whitespace(" ")],
},
operator_token: PLUS@10..12 "+" [] [Whitespace(" ")],
right: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@12..13 "3" [] [],
},
},
r_curly_token: missing (required),
},
],
closing_element: JsxClosingElement {
l_angle_token: L_ANGLE@13..14 "<" [] [],
slash_token: SLASH@14..15 "/" [] [],
name: JsxName {
value_token: JSX_IDENT@15..19 "test" [] [],
},
r_angle_token: R_ANGLE@19..20 ">" [] [],
},
},
},
semicolon_token: missing (optional),
},
],
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: JSX_TAG_EXPRESSION@0..20
0: JSX_ELEMENT@0..20
0: JSX_OPENING_ELEMENT@0..6
0: L_ANGLE@0..1 "<" [] []
1: JSX_NAME@1..5
0: JSX_IDENT@1..5 "test" [] []
2: (empty)
3: JSX_ATTRIBUTE_LIST@5..5
4: R_ANGLE@5..6 ">" [] []
1: JSX_CHILD_LIST@6..13
0: JSX_EXPRESSION_CHILD@6..13
0: L_CURLY@6..8 "{" [] [Whitespace(" ")]
1: JS_BINARY_EXPRESSION@8..13
0: JS_NUMBER_LITERAL_EXPRESSION@8..10
0: JS_NUMBER_LITERAL@8..10 "4" [] [Whitespace(" ")]
1: PLUS@10..12 "+" [] [Whitespace(" ")]
2: JS_NUMBER_LITERAL_EXPRESSION@12..13
0: JS_NUMBER_LITERAL@12..13 "3" [] []
2: (empty)
2: JSX_CLOSING_ELEMENT@13..20
0: L_ANGLE@13..14 "<" [] []
1: SLASH@14..15 "/" [] []
2: JSX_NAME@15..19
0: JSX_IDENT@15..19 "test" [] []
3: R_ANGLE@19..20 ">" [] []
1: (empty)
4: EOF@20..21 "" [Newline("\n")] []
--
jsx_child_expression_missing_r_curly.jsx:1:14 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× expected `}` but instead found `<`
> 1 │ { 4 + 3
│ ^
2 │
i Remove <
--
{ 4 + 3