From 005feda6c41eaf28d8702aff1b6f1e79493eae78 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Mon, 11 May 2020 19:53:19 -0700 Subject: fix: added visitor functions for if statement --- lib/c.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib') diff --git a/lib/c.py b/lib/c.py index 0830dc5..c963b5b 100644 --- a/lib/c.py +++ b/lib/c.py @@ -854,6 +854,13 @@ def _(blk: Block, func): for stmt in blk.stmts: 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) @@ -888,6 +895,10 @@ def _(blk: Block, func): 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)) -- cgit v1.2.1