diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2020-05-11 19:53:19 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2020-05-11 19:53:19 -0700 |
commit | 005feda6c41eaf28d8702aff1b6f1e79493eae78 (patch) | |
tree | 6efe0fcb985b1b0dc7a6f28978c55fa3e9905c1c | |
parent | b4cfd0d257690aebd2df2f6ce00fb2158b3b61d5 (diff) |
fix: added visitor functions for if statement
-rw-r--r-- | lib/c.py | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -855,6 +855,13 @@ def _(blk: Block, func): func(stmt) @Visit.register +def _(jmp: If, func): + func(jmp.cond) + func(jmp.then) + if jmp.orelse is not None: + func(jmp.orelse) + +@Visit.register def _(loop: For, func): func(loop.init) func(loop.cond) @@ -889,6 +896,10 @@ def _(loop: For, func): return For(func(loop.init), func(loop.cond), func(loop.step), func(loop.body)) @Make.register +def _(jmp: If, func): + return If(func(jmp.cond), func(jmp.then), func(loop.orelse) if loop.orelse is not None else None) + +@Make.register def _(ret: Return, func): return Return(func(ret.val)) |