Skip to content

Commit 0af1700

Browse files
committed
feat: fix children set in ParametricNode
1 parent 8495d80 commit 0af1700

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/ParametricExpression.jl

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import ..NodeModule:
1515
with_max_degree,
1616
max_degree,
1717
preserve_sharing,
18+
get_children,
19+
set_children!,
1820
leaf_copy,
1921
leaf_convert,
2022
leaf_hash,
@@ -144,8 +146,8 @@ function leaf_copy(t::ParametricNode{T}) where {T}
144146
end
145147
end
146148
function set_node!(tree::ParametricNode, new_tree::ParametricNode)
147-
tree.degree = new_tree.degree
148-
if new_tree.degree == 0
149+
tree.degree = (deg = new_tree.degree)
150+
if deg == 0
149151
if new_tree.constant
150152
tree.constant = true
151153
tree.val = new_tree.val
@@ -160,10 +162,7 @@ function set_node!(tree::ParametricNode, new_tree::ParametricNode)
160162
end
161163
else
162164
tree.op = new_tree.op
163-
tree.l = new_tree.l
164-
if new_tree.degree == 2
165-
tree.r = new_tree.r
166-
end
165+
set_children!(tree, get_children(new_tree))
167166
end
168167
return nothing
169168
end

0 commit comments

Comments
 (0)