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..2 "a" [] [],
},
type_arguments: missing (optional),
attributes: JsxAttributeList [],
r_angle_token: R_ANGLE@2..3 ">" [] [],
},
children: JsxChildList [
JsxText {
value_token: JSX_TEXT_LITERAL@3..7 "test" [] [],
},
],
closing_element: JsxClosingElement {
l_angle_token: L_ANGLE@7..8 "<" [] [],
slash_token: SLASH@8..9 "/" [] [],
name: JsxName {
value_token: JSX_IDENT@9..10 "a" [] [],
},
r_angle_token: R_ANGLE@10..11 ">" [] [],
},
},
},
semicolon_token: SEMICOLON@11..12 ";" [] [],
},
JsExpressionStatement {
expression: JsxTagExpression {
tag: JsxElement {
opening_element: JsxOpeningElement {
l_angle_token: L_ANGLE@12..14 "<" [Newline("\n")] [],
name: JsxName {
value_token: JSX_IDENT@14..15 "a" [] [],
},
type_arguments: missing (optional),
attributes: JsxAttributeList [],
r_angle_token: R_ANGLE@15..16 ">" [] [],
},
children: JsxChildList [
JsxText {
value_token: JSX_TEXT_LITERAL@16..39 " whitespace handling " [] [],
},
],
closing_element: JsxClosingElement {
l_angle_token: L_ANGLE@39..40 "<" [] [],
slash_token: SLASH@40..41 "/" [] [],
name: JsxName {
value_token: JSX_IDENT@41..42 "a" [] [],
},
r_angle_token: R_ANGLE@42..43 ">" [] [],
},
},
},
semicolon_token: SEMICOLON@43..44 ";" [] [],
},
JsExpressionStatement {
expression: JsxTagExpression {
tag: JsxElement {
opening_element: JsxOpeningElement {
l_angle_token: L_ANGLE@44..46 "<" [Newline("\n")] [],
name: JsxName {
value_token: JSX_IDENT@46..47 "a" [] [],
},
type_arguments: missing (optional),
attributes: JsxAttributeList [],
r_angle_token: R_ANGLE@47..48 ">" [] [],
},
children: JsxChildList [
JsxText {
value_token: JSX_TEXT_LITERAL@48..77 " multi\n line\n node\n" [] [],
},
],
closing_element: JsxClosingElement {
l_angle_token: L_ANGLE@77..78 "<" [] [],
slash_token: SLASH@78..79 "/" [] [],
name: JsxName {
value_token: JSX_IDENT@79..80 "a" [] [],
},
r_angle_token: R_ANGLE@80..81 ">" [] [],
},
},
},
semicolon_token: SEMICOLON@81..82 ";" [] [],
},
JsExpressionStatement {
expression: JsxTagExpression {
tag: JsxElement {
opening_element: JsxOpeningElement {
l_angle_token: L_ANGLE@82..84 "<" [Newline("\n")] [],
name: JsxName {
value_token: JSX_IDENT@84..88 "test" [] [],
},
type_arguments: missing (optional),
attributes: JsxAttributeList [],
r_angle_token: R_ANGLE@88..89 ">" [] [],
},
children: JsxChildList [
JsxText {
value_token: JSX_TEXT_LITERAL@89..95 "\\u3333" [] [],
},
],
closing_element: JsxClosingElement {
l_angle_token: L_ANGLE@95..96 "<" [] [],
slash_token: SLASH@96..97 "/" [] [],
name: JsxName {
value_token: JSX_IDENT@97..101 "test" [] [],
},
r_angle_token: R_ANGLE@101..141 ">" [] [Whitespace(" "), Comments("// no error for inval ...")],
},
},
},
semicolon_token: missing (optional),
},
],
eof_token: EOF@141..142 "" [Newline("\n")] [],
}
0: JS_MODULE@0..142
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..141
0: JS_EXPRESSION_STATEMENT@0..12
0: JSX_TAG_EXPRESSION@0..11
0: JSX_ELEMENT@0..11
0: JSX_OPENING_ELEMENT@0..3
0: L_ANGLE@0..1 "<" [] []
1: JSX_NAME@1..2
0: JSX_IDENT@1..2 "a" [] []
2: (empty)
3: JSX_ATTRIBUTE_LIST@2..2
4: R_ANGLE@2..3 ">" [] []
1: JSX_CHILD_LIST@3..7
0: JSX_TEXT@3..7
0: JSX_TEXT_LITERAL@3..7 "test" [] []
2: JSX_CLOSING_ELEMENT@7..11
0: L_ANGLE@7..8 "<" [] []
1: SLASH@8..9 "/" [] []
2: JSX_NAME@9..10
0: JSX_IDENT@9..10 "a" [] []
3: R_ANGLE@10..11 ">" [] []
1: SEMICOLON@11..12 ";" [] []
1: JS_EXPRESSION_STATEMENT@12..44
0: JSX_TAG_EXPRESSION@12..43
0: JSX_ELEMENT@12..43
0: JSX_OPENING_ELEMENT@12..16
0: L_ANGLE@12..14 "<" [Newline("\n")] []
1: JSX_NAME@14..15
0: JSX_IDENT@14..15 "a" [] []
2: (empty)
3: JSX_ATTRIBUTE_LIST@15..15
4: R_ANGLE@15..16 ">" [] []
1: JSX_CHILD_LIST@16..39
0: JSX_TEXT@16..39
0: JSX_TEXT_LITERAL@16..39 " whitespace handling " [] []
2: JSX_CLOSING_ELEMENT@39..43
0: L_ANGLE@39..40 "<" [] []
1: SLASH@40..41 "/" [] []
2: JSX_NAME@41..42
0: JSX_IDENT@41..42 "a" [] []
3: R_ANGLE@42..43 ">" [] []
1: SEMICOLON@43..44 ";" [] []
2: JS_EXPRESSION_STATEMENT@44..82
0: JSX_TAG_EXPRESSION@44..81
0: JSX_ELEMENT@44..81
0: JSX_OPENING_ELEMENT@44..48
0: L_ANGLE@44..46 "<" [Newline("\n")] []
1: JSX_NAME@46..47
0: JSX_IDENT@46..47 "a" [] []
2: (empty)
3: JSX_ATTRIBUTE_LIST@47..47
4: R_ANGLE@47..48 ">" [] []
1: JSX_CHILD_LIST@48..77
0: JSX_TEXT@48..77
0: JSX_TEXT_LITERAL@48..77 " multi\n line\n node\n" [] []
2: JSX_CLOSING_ELEMENT@77..81
0: L_ANGLE@77..78 "<" [] []
1: SLASH@78..79 "/" [] []
2: JSX_NAME@79..80
0: JSX_IDENT@79..80 "a" [] []
3: R_ANGLE@80..81 ">" [] []
1: SEMICOLON@81..82 ";" [] []
3: JS_EXPRESSION_STATEMENT@82..141
0: JSX_TAG_EXPRESSION@82..141
0: JSX_ELEMENT@82..141
0: JSX_OPENING_ELEMENT@82..89
0: L_ANGLE@82..84 "<" [Newline("\n")] []
1: JSX_NAME@84..88
0: JSX_IDENT@84..88 "test" [] []
2: (empty)
3: JSX_ATTRIBUTE_LIST@88..88
4: R_ANGLE@88..89 ">" [] []
1: JSX_CHILD_LIST@89..95
0: JSX_TEXT@89..95
0: JSX_TEXT_LITERAL@89..95 "\\u3333" [] []
2: JSX_CLOSING_ELEMENT@95..141
0: L_ANGLE@95..96 "<" [] []
1: SLASH@96..97 "/" [] []
2: JSX_NAME@97..101
0: JSX_IDENT@97..101 "test" [] []
3: R_ANGLE@101..141 ">" [] [Whitespace(" "), Comments("// no error for inval ...")]
1: (empty)
4: EOF@141..142 "" [Newline("\n")] []