[ruby/yarp] Add more tests for implicit hash values
https://github.com/ruby/yarp/commit/1ddd74dc11
This commit is contained in:
parent
5f9f2fd72e
commit
28fe88468d
@ -18,3 +18,9 @@
|
||||
{ a: b, c: d, **e, f: g }
|
||||
|
||||
{ "a": !b? }
|
||||
|
||||
a = 1
|
||||
tap do
|
||||
b = 1
|
||||
{ a:, b:, c:, D: }
|
||||
end
|
||||
|
@ -1,8 +1,8 @@
|
||||
@ ProgramNode (location: (0...120))
|
||||
├── locals: []
|
||||
@ ProgramNode (location: (0...167))
|
||||
├── locals: [:a]
|
||||
└── statements:
|
||||
@ StatementsNode (location: (0...120))
|
||||
└── body: (length: 7)
|
||||
@ StatementsNode (location: (0...167))
|
||||
└── body: (length: 9)
|
||||
├── @ HashNode (location: (0...2))
|
||||
│ ├── opening_loc: (0...1) = "{"
|
||||
│ ├── elements: (length: 0)
|
||||
@ -220,36 +220,136 @@
|
||||
│ │ │ └── name: "g"
|
||||
│ │ └── operator_loc: ∅
|
||||
│ └── closing_loc: (105...106) = "}"
|
||||
└── @ HashNode (location: (108...120))
|
||||
├── opening_loc: (108...109) = "{"
|
||||
├── elements: (length: 1)
|
||||
│ └── @ AssocNode (location: (110...118))
|
||||
│ ├── key:
|
||||
│ │ @ SymbolNode (location: (110...114))
|
||||
│ │ ├── opening_loc: (110...111) = "\""
|
||||
│ │ ├── value_loc: (111...112) = "a"
|
||||
│ │ ├── closing_loc: (112...114) = "\":"
|
||||
│ │ └── unescaped: "a"
|
||||
│ ├── value:
|
||||
│ │ @ CallNode (location: (115...118))
|
||||
│ │ ├── receiver:
|
||||
│ │ │ @ CallNode (location: (116...118))
|
||||
│ │ │ ├── receiver: ∅
|
||||
│ │ │ ├── call_operator_loc: ∅
|
||||
│ │ │ ├── message_loc: (116...118) = "b?"
|
||||
│ │ │ ├── opening_loc: ∅
|
||||
│ │ │ ├── arguments: ∅
|
||||
│ │ │ ├── closing_loc: ∅
|
||||
│ │ │ ├── block: ∅
|
||||
│ │ │ ├── flags: ∅
|
||||
│ │ │ └── name: "b?"
|
||||
│ │ ├── call_operator_loc: ∅
|
||||
│ │ ├── message_loc: (115...116) = "!"
|
||||
│ │ ├── opening_loc: ∅
|
||||
│ │ ├── arguments: ∅
|
||||
│ │ ├── closing_loc: ∅
|
||||
│ │ ├── block: ∅
|
||||
│ │ ├── flags: ∅
|
||||
│ │ └── name: "!"
|
||||
│ └── operator_loc: ∅
|
||||
└── closing_loc: (119...120) = "}"
|
||||
├── @ HashNode (location: (108...120))
|
||||
│ ├── opening_loc: (108...109) = "{"
|
||||
│ ├── elements: (length: 1)
|
||||
│ │ └── @ AssocNode (location: (110...118))
|
||||
│ │ ├── key:
|
||||
│ │ │ @ SymbolNode (location: (110...114))
|
||||
│ │ │ ├── opening_loc: (110...111) = "\""
|
||||
│ │ │ ├── value_loc: (111...112) = "a"
|
||||
│ │ │ ├── closing_loc: (112...114) = "\":"
|
||||
│ │ │ └── unescaped: "a"
|
||||
│ │ ├── value:
|
||||
│ │ │ @ CallNode (location: (115...118))
|
||||
│ │ │ ├── receiver:
|
||||
│ │ │ │ @ CallNode (location: (116...118))
|
||||
│ │ │ │ ├── receiver: ∅
|
||||
│ │ │ │ ├── call_operator_loc: ∅
|
||||
│ │ │ │ ├── message_loc: (116...118) = "b?"
|
||||
│ │ │ │ ├── opening_loc: ∅
|
||||
│ │ │ │ ├── arguments: ∅
|
||||
│ │ │ │ ├── closing_loc: ∅
|
||||
│ │ │ │ ├── block: ∅
|
||||
│ │ │ │ ├── flags: ∅
|
||||
│ │ │ │ └── name: "b?"
|
||||
│ │ │ ├── call_operator_loc: ∅
|
||||
│ │ │ ├── message_loc: (115...116) = "!"
|
||||
│ │ │ ├── opening_loc: ∅
|
||||
│ │ │ ├── arguments: ∅
|
||||
│ │ │ ├── closing_loc: ∅
|
||||
│ │ │ ├── block: ∅
|
||||
│ │ │ ├── flags: ∅
|
||||
│ │ │ └── name: "!"
|
||||
│ │ └── operator_loc: ∅
|
||||
│ └── closing_loc: (119...120) = "}"
|
||||
├── @ LocalVariableWriteNode (location: (122...127))
|
||||
│ ├── name: :a
|
||||
│ ├── depth: 0
|
||||
│ ├── name_loc: (122...123) = "a"
|
||||
│ ├── value:
|
||||
│ │ @ IntegerNode (location: (126...127))
|
||||
│ │ └── flags: decimal
|
||||
│ └── operator_loc: (124...125) = "="
|
||||
└── @ CallNode (location: (128...167))
|
||||
├── receiver: ∅
|
||||
├── call_operator_loc: ∅
|
||||
├── message_loc: (128...131) = "tap"
|
||||
├── opening_loc: ∅
|
||||
├── arguments: ∅
|
||||
├── closing_loc: ∅
|
||||
├── block:
|
||||
│ @ BlockNode (location: (132...167))
|
||||
│ ├── locals: [:b]
|
||||
│ ├── parameters: ∅
|
||||
│ ├── body:
|
||||
│ │ @ StatementsNode (location: (137...163))
|
||||
│ │ └── body: (length: 2)
|
||||
│ │ ├── @ LocalVariableWriteNode (location: (137...142))
|
||||
│ │ │ ├── name: :b
|
||||
│ │ │ ├── depth: 0
|
||||
│ │ │ ├── name_loc: (137...138) = "b"
|
||||
│ │ │ ├── value:
|
||||
│ │ │ │ @ IntegerNode (location: (141...142))
|
||||
│ │ │ │ └── flags: decimal
|
||||
│ │ │ └── operator_loc: (139...140) = "="
|
||||
│ │ └── @ HashNode (location: (145...163))
|
||||
│ │ ├── opening_loc: (145...146) = "{"
|
||||
│ │ ├── elements: (length: 4)
|
||||
│ │ │ ├── @ AssocNode (location: (147...149))
|
||||
│ │ │ │ ├── key:
|
||||
│ │ │ │ │ @ SymbolNode (location: (147...149))
|
||||
│ │ │ │ │ ├── opening_loc: ∅
|
||||
│ │ │ │ │ ├── value_loc: (147...148) = "a"
|
||||
│ │ │ │ │ ├── closing_loc: (148...149) = ":"
|
||||
│ │ │ │ │ └── unescaped: "a"
|
||||
│ │ │ │ ├── value:
|
||||
│ │ │ │ │ @ ImplicitNode (location: (147...149))
|
||||
│ │ │ │ │ └── value:
|
||||
│ │ │ │ │ @ LocalVariableReadNode (location: (147...149))
|
||||
│ │ │ │ │ ├── name: :a
|
||||
│ │ │ │ │ └── depth: 1
|
||||
│ │ │ │ └── operator_loc: ∅
|
||||
│ │ │ ├── @ AssocNode (location: (151...153))
|
||||
│ │ │ │ ├── key:
|
||||
│ │ │ │ │ @ SymbolNode (location: (151...153))
|
||||
│ │ │ │ │ ├── opening_loc: ∅
|
||||
│ │ │ │ │ ├── value_loc: (151...152) = "b"
|
||||
│ │ │ │ │ ├── closing_loc: (152...153) = ":"
|
||||
│ │ │ │ │ └── unescaped: "b"
|
||||
│ │ │ │ ├── value:
|
||||
│ │ │ │ │ @ ImplicitNode (location: (151...153))
|
||||
│ │ │ │ │ └── value:
|
||||
│ │ │ │ │ @ LocalVariableReadNode (location: (151...153))
|
||||
│ │ │ │ │ ├── name: :b
|
||||
│ │ │ │ │ └── depth: 0
|
||||
│ │ │ │ └── operator_loc: ∅
|
||||
│ │ │ ├── @ AssocNode (location: (155...157))
|
||||
│ │ │ │ ├── key:
|
||||
│ │ │ │ │ @ SymbolNode (location: (155...157))
|
||||
│ │ │ │ │ ├── opening_loc: ∅
|
||||
│ │ │ │ │ ├── value_loc: (155...156) = "c"
|
||||
│ │ │ │ │ ├── closing_loc: (156...157) = ":"
|
||||
│ │ │ │ │ └── unescaped: "c"
|
||||
│ │ │ │ ├── value:
|
||||
│ │ │ │ │ @ ImplicitNode (location: (155...157))
|
||||
│ │ │ │ │ └── value:
|
||||
│ │ │ │ │ @ CallNode (location: (155...157))
|
||||
│ │ │ │ │ ├── receiver: ∅
|
||||
│ │ │ │ │ ├── call_operator_loc: ∅
|
||||
│ │ │ │ │ ├── message_loc: (155...156) = "c"
|
||||
│ │ │ │ │ ├── opening_loc: ∅
|
||||
│ │ │ │ │ ├── arguments: ∅
|
||||
│ │ │ │ │ ├── closing_loc: ∅
|
||||
│ │ │ │ │ ├── block: ∅
|
||||
│ │ │ │ │ ├── flags: ∅
|
||||
│ │ │ │ │ └── name: "c"
|
||||
│ │ │ │ └── operator_loc: ∅
|
||||
│ │ │ └── @ AssocNode (location: (159...161))
|
||||
│ │ │ ├── key:
|
||||
│ │ │ │ @ SymbolNode (location: (159...161))
|
||||
│ │ │ │ ├── opening_loc: ∅
|
||||
│ │ │ │ ├── value_loc: (159...160) = "D"
|
||||
│ │ │ │ ├── closing_loc: (160...161) = ":"
|
||||
│ │ │ │ └── unescaped: "D"
|
||||
│ │ │ ├── value:
|
||||
│ │ │ │ @ ImplicitNode (location: (159...161))
|
||||
│ │ │ │ └── value:
|
||||
│ │ │ │ @ ConstantReadNode (location: (159...161))
|
||||
│ │ │ │ └── name: :D
|
||||
│ │ │ └── operator_loc: ∅
|
||||
│ │ └── closing_loc: (162...163) = "}"
|
||||
│ ├── opening_loc: (132...134) = "do"
|
||||
│ └── closing_loc: (164...167) = "end"
|
||||
├── flags: ∅
|
||||
└── name: "tap"
|
||||
|
Loading…
x
Reference in New Issue
Block a user