fhdl/visit: support Constant
authorSebastien Bourdeauducq <sb@m-labs.hk>
Sun, 20 Sep 2015 08:10:17 +0000 (16:10 +0800)
committerSebastien Bourdeauducq <sb@m-labs.hk>
Sun, 20 Sep 2015 08:10:17 +0000 (16:10 +0800)
migen/fhdl/visit.py

index 337f6b3fcdf1fc588ff407bd036bfe657288c9b2..dd3ebbd799aeccb99c4756279e7475bcfe359e6d 100644 (file)
@@ -1,13 +1,14 @@
 from copy import copy
 
 from migen.fhdl.structure import *
-from migen.fhdl.structure import _Operator, _Slice, _Assign, _ArrayProxy, _Fragment
+from migen.fhdl.structure import (_Operator, _Slice, _Assign, _ArrayProxy,
+                                  _Fragment)
 
 
 class NodeVisitor:
     def visit(self, node):
-        if isinstance(node, (int, bool)):
-            self.visit_constant(node)
+        if isinstance(node, Constant):
+            self.visit_Constant(node)
         elif isinstance(node, Signal):
             self.visit_Signal(node)
         elif isinstance(node, ClockSignal):
@@ -39,7 +40,7 @@ class NodeVisitor:
         elif node is not None:
             self.visit_unknown(node)
 
-    def visit_constant(self, node):
+    def visit_Constant(self, node):
         pass
 
     def visit_Signal(self, node):
@@ -107,8 +108,8 @@ class NodeVisitor:
 # In those cases, the original node is returned unchanged.
 class NodeTransformer:
     def visit(self, node):
-        if isinstance(node, (int, bool)):
-            return self.visit_constant(node)
+        if isinstance(node, Constant):
+            return self.visit_Constant(node)
         elif isinstance(node, Signal):
             return self.visit_Signal(node)
         elif isinstance(node, ClockSignal):
@@ -142,7 +143,7 @@ class NodeTransformer:
         else:
             return None
 
-    def visit_constant(self, node):
+    def visit_Constant(self, node):
         return node
 
     def visit_Signal(self, node):