aboutsummaryrefslogtreecommitdiff
path: root/nomsu_decompiler.moon
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2018-12-14 20:09:15 -0800
committerBruce Hill <bruce@bruce-hill.com>2018-12-14 20:09:32 -0800
commit64ba8aee074ea415b1a02715af2ec7ae99f3f37d (patch)
treec2a3ee1bf8b08a439b9356876198ff8fbb16c385 /nomsu_decompiler.moon
parent2360ada21fac914a4bc5eeec752966cb3f3bba71 (diff)
Parenthesizing inline method targets when needed.
Diffstat (limited to 'nomsu_decompiler.moon')
-rw-r--r--nomsu_decompiler.moon5
1 files changed, 4 insertions, 1 deletions
diff --git a/nomsu_decompiler.moon b/nomsu_decompiler.moon
index f522832..8c559b1 100644
--- a/nomsu_decompiler.moon
+++ b/nomsu_decompiler.moon
@@ -57,7 +57,10 @@ tree_to_inline_nomsu = (tree)->
return nomsu
when "MethodCall"
- nomsu = NomsuCode\from(tree.source, tree_to_inline_nomsu(tree[1]), "|")
+ target_nomsu = tree_to_inline_nomsu(tree[1])
+ if tree[1].type == "Action" or tree[1].type == "MethodCall" or tree[1].type == "Block"
+ target_nomsu\parenthesize!
+ nomsu = NomsuCode\from(tree.source, target_nomsu, "|")
for i=2,#tree
nomsu\add "; " if i > 2
nomsu\add tree_to_inline_nomsu(tree[i])