forked from M-Labs/artiq
transforms/remove_dead_code: bugfixes
This commit is contained in:
parent
97329b7fc9
commit
b12fd1d566
|
@ -19,8 +19,8 @@ class _DeadCodeRemover(ast.NodeTransformer):
|
||||||
def visit_Assign(self, node):
|
def visit_Assign(self, node):
|
||||||
new_targets = []
|
new_targets = []
|
||||||
for target in node.targets:
|
for target in node.targets:
|
||||||
if not (isinstance(target, ast.Name)
|
if (not isinstance(target, ast.Name)
|
||||||
and target.id not in self.kept_targets):
|
or target.id in self.kept_targets):
|
||||||
new_targets.append(target)
|
new_targets.append(target)
|
||||||
if not new_targets and is_replaceable(node.value):
|
if not new_targets and is_replaceable(node.value):
|
||||||
return None
|
return None
|
||||||
|
@ -36,6 +36,7 @@ class _DeadCodeRemover(ast.NodeTransformer):
|
||||||
return node
|
return node
|
||||||
|
|
||||||
def visit_If(self, node):
|
def visit_If(self, node):
|
||||||
|
self.generic_visit(node)
|
||||||
if isinstance(node.test, ast.NameConstant):
|
if isinstance(node.test, ast.NameConstant):
|
||||||
if node.test.value:
|
if node.test.value:
|
||||||
return node.body
|
return node.body
|
||||||
|
@ -45,6 +46,7 @@ class _DeadCodeRemover(ast.NodeTransformer):
|
||||||
return node
|
return node
|
||||||
|
|
||||||
def visit_While(self, node):
|
def visit_While(self, node):
|
||||||
|
self.generic_visit(node)
|
||||||
if isinstance(node.test, ast.NameConstant) and not node.test.value:
|
if isinstance(node.test, ast.NameConstant) and not node.test.value:
|
||||||
return node.orelse
|
return node.orelse
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue