Skip to content

Commit ad75603

Browse files
committed
instruction_tree: Pass depth explicitly in recursive call
The depth is a transient property of where in the tree we happen to be generating code, so it should not be a persistent property of the class. Pass it explicitly.
1 parent 6b85df2 commit ad75603

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed
Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class_name InstructionTree
22
extends Object
33

4-
var depth: int
54
var out: String
65

76

@@ -19,23 +18,18 @@ class TreeNode:
1918

2019
func generate_text(root_node: TreeNode, start_depth: int = 0) -> String:
2120
out = ""
22-
depth = start_depth
23-
generate_text_recursive(root_node)
21+
generate_text_recursive(root_node, start_depth)
2422
return out
2523

2624

27-
func generate_text_recursive(node: TreeNode):
25+
func generate_text_recursive(node: TreeNode, depth: int):
2826
if node.data != "":
2927
for i in depth:
3028
out += "\t"
3129
out += node.data + "\n"
3230

33-
depth += 1
34-
3531
for c in node.children:
36-
generate_text_recursive(c)
37-
38-
depth -= 1
32+
generate_text_recursive(c, depth + 1)
3933

4034
if node.next:
41-
generate_text_recursive(node.next)
35+
generate_text_recursive(node.next, depth)

0 commit comments

Comments
 (0)