JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsExpressionStatement {
expression: JsLogicalExpression {
left: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@0..4 "foo" [] [Whitespace(" ")],
},
},
operator_token: QUESTION2@4..7 "??" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@7..10 "bar" [] [],
},
},
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsLogicalExpression {
left: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@10..13 "a" [Newline("\n")] [Whitespace(" ")],
},
},
operator_token: PIPE2@13..16 "||" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@16..17 "b" [] [],
},
},
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsLogicalExpression {
left: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@17..20 "a" [Newline("\n")] [Whitespace(" ")],
},
},
operator_token: AMP2@20..23 "&&" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@23..24 "b" [] [],
},
},
},
semicolon_token: missing (optional),
},
],
eof_token: EOF@24..25 "" [Newline("\n")] [],
}
0: JS_MODULE@0..25
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..24
0: JS_EXPRESSION_STATEMENT@0..10
0: JS_LOGICAL_EXPRESSION@0..10
0: JS_IDENTIFIER_EXPRESSION@0..4
0: JS_REFERENCE_IDENTIFIER@0..4
0: IDENT@0..4 "foo" [] [Whitespace(" ")]
1: QUESTION2@4..7 "??" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@7..10
0: JS_REFERENCE_IDENTIFIER@7..10
0: IDENT@7..10 "bar" [] []
1: (empty)
1: JS_EXPRESSION_STATEMENT@10..17
0: JS_LOGICAL_EXPRESSION@10..17
0: JS_IDENTIFIER_EXPRESSION@10..13
0: JS_REFERENCE_IDENTIFIER@10..13
0: IDENT@10..13 "a" [Newline("\n")] [Whitespace(" ")]
1: PIPE2@13..16 "||" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@16..17
0: JS_REFERENCE_IDENTIFIER@16..17
0: IDENT@16..17 "b" [] []
1: (empty)
2: JS_EXPRESSION_STATEMENT@17..24
0: JS_LOGICAL_EXPRESSION@17..24
0: JS_IDENTIFIER_EXPRESSION@17..20
0: JS_REFERENCE_IDENTIFIER@17..20
0: IDENT@17..20 "a" [Newline("\n")] [Whitespace(" ")]
1: AMP2@20..23 "&&" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@23..24
0: JS_REFERENCE_IDENTIFIER@23..24
0: IDENT@23..24 "b" [] []
1: (empty)
4: EOF@24..25 "" [Newline("\n")] []