@ ProgramNode (location: (1,0)-(1,12)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ ConstantPathOrWriteNode (location: (1,0)-(1,12)) ├── target: │ @ ConstantPathNode (location: (1,0)-(1,6)) │ ├── parent: │ │ @ ConstantPathNode (location: (1,0)-(1,3)) │ │ ├── parent: ∅ │ │ ├── child: │ │ │ @ ConstantReadNode (location: (1,2)-(1,3)) │ │ │ └── name: :X │ │ └── delimiter_loc: (1,0)-(1,2) = "::" │ ├── child: │ │ @ ConstantReadNode (location: (1,5)-(1,6)) │ │ └── name: :Y │ └── delimiter_loc: (1,3)-(1,5) = "::" ├── operator_loc: (1,7)-(1,10) = "||=" └── value: @ IntegerNode (location: (1,11)-(1,12)) ├── flags: decimal └── value: 1