@ ProgramNode (location: (1,0)-(3,14)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,14)) └── body: (length: 2) ├── @ ClassNode (location: (1,0)-(1,13)) │ ├── locals: [] │ ├── class_keyword_loc: (1,0)-(1,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (1,6)-(1,9)) │ │ └── name: :Foo │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: ∅ │ ├── end_keyword_loc: (1,10)-(1,13) = "end" │ └── name: :Foo └── @ ClassNode (location: (3,0)-(3,14)) ├── locals: [] ├── class_keyword_loc: (3,0)-(3,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (3,6)-(3,9)) │ └── name: :Foo ├── inheritance_operator_loc: ∅ ├── superclass: ∅ ├── body: ∅ ├── end_keyword_loc: (3,11)-(3,14) = "end" └── name: :Foo