Skip to content

Commit 28336df

Browse files
committed
fix
Signed-off-by: Charles-Edouard Brétéché <[email protected]>
1 parent a873c8e commit 28336df

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

pkg/interpreter/interpreter.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -218,19 +218,15 @@ func (intr *treeInterpreter) Execute(node parsing.ASTNode, value interface{}) (i
218218
case parsing.ASTRootNode:
219219
return intr.root, nil
220220
case parsing.ASTBindings:
221+
bindings := intr.bindings
221222
for _, child := range node.Children {
222-
if _, err := intr.Execute(child, value); err != nil {
223+
if value, err := intr.Execute(child.Children[1], value); err != nil {
223224
return nil, err
225+
} else {
226+
bindings = bindings.Register(child.Children[0].Value.(string), value)
224227
}
225228
}
226-
// doesn't mutate value
227-
return value, nil
228-
case parsing.ASTBinding:
229-
if value, err := intr.Execute(node.Children[1], value); err != nil {
230-
return nil, err
231-
} else {
232-
intr.bindings = intr.bindings.Register(node.Children[0].Value.(string), value)
233-
}
229+
intr.bindings = bindings
234230
// doesn't mutate value
235231
return value, nil
236232
case parsing.ASTLetExpression:

0 commit comments

Comments
 (0)