Skip to content

Commit

Permalink
fhdl/visit: fix TransformModule
Browse files Browse the repository at this point in the history
sbourdeauducq committed Mar 14, 2015
1 parent aef9275 commit c824379
Showing 2 changed files with 9 additions and 6 deletions.
12 changes: 6 additions & 6 deletions migen/fhdl/module.py
Original file line number Diff line number Diff line change
@@ -83,8 +83,8 @@ def __iadd__(self, other):

class Module:
def get_fragment(self):
assert(not self._get_fragment_called)
self._get_fragment_called = True
assert(not self.get_fragment_called)
self.get_fragment_called = True
self.finalize()
return self._fragment

@@ -127,9 +127,9 @@ def __getattr__(self, name):
elif name == "_clock_domains":
self._clock_domains = []
return self._clock_domains
elif name == "_get_fragment_called":
self._get_fragment_called = False
return self._get_fragment_called
elif name == "get_fragment_called":
self.get_fragment_called = False
return self.get_fragment_called

else:
raise AttributeError("'"+self.__class__.__name__+"' object has no attribute '"+name+"'")
@@ -144,7 +144,7 @@ def __setattr__(self, name, value):
def _collect_submodules(self):
r = []
for name, submodule in self._submodules:
if not submodule._get_fragment_called:
if not submodule.get_fragment_called:
r.append((name, submodule.get_fragment()))
return r

3 changes: 3 additions & 0 deletions migen/fhdl/visit.py
Original file line number Diff line number Diff line change
@@ -202,6 +202,9 @@ class TransformModule:
def __init__(self, transform, module):
self.transform = transform
self.module = module
self.get_fragment_called = False

def get_fragment(self):
assert(not self.get_fragment_called)
self.get_fragment_called = True
return self.transform(self.module.get_fragment())

0 comments on commit c824379

Please sign in to comment.