JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsPreUpdateExpression { operator_token: PLUS2@0..2 "++" [] [], operand: JsIdentifierAssignment { name_token: IDENT@2..5 "foo" [] [], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsPreUpdateExpression { operator_token: MINUS2@5..8 "--" [Newline("\n")] [], operand: JsIdentifierAssignment { name_token: IDENT@8..11 "foo" [] [], }, }, semicolon_token: missing (optional), }, ], eof_token: EOF@11..12 "" [Newline("\n")] [], } 0: JS_MODULE@0..12 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..11 0: JS_EXPRESSION_STATEMENT@0..5 0: JS_PRE_UPDATE_EXPRESSION@0..5 0: PLUS2@0..2 "++" [] [] 1: JS_IDENTIFIER_ASSIGNMENT@2..5 0: IDENT@2..5 "foo" [] [] 1: (empty) 1: JS_EXPRESSION_STATEMENT@5..11 0: JS_PRE_UPDATE_EXPRESSION@5..11 0: MINUS2@5..8 "--" [Newline("\n")] [] 1: JS_IDENTIFIER_ASSIGNMENT@8..11 0: IDENT@8..11 "foo" [] [] 1: (empty) 4: EOF@11..12 "" [Newline("\n")] []