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