@ ProgramNode (location: (1,0)-(3,8)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,8)) └── body: (length: 2) ├── @ StringNode (location: (1,0)-(1,10)) │ ├── flags: ∅ │ ├── opening_loc: (1,0)-(1,3) = "%q(" │ ├── content_loc: (1,3)-(1,9) = "foobar" │ ├── closing_loc: (1,9)-(1,10) = ")" │ └── unescaped: "foobar" └── @ StringNode (location: (3,0)-(3,8)) ├── flags: ∅ ├── opening_loc: (3,0)-(3,1) = "'" ├── content_loc: (3,1)-(3,7) = "foobar" ├── closing_loc: (3,7)-(3,8) = "'" └── unescaped: "foobar"