compat.fhdl.module: fix specials.
This commit is contained in:
parent
3b23645fb7
commit
3bc3647380
|
@ -61,19 +61,19 @@ class _CompatModuleSync(_CompatModuleProxy):
|
||||||
class _CompatModuleSpecials(_CompatModuleProxy):
|
class _CompatModuleSpecials(_CompatModuleProxy):
|
||||||
@deprecated("instead of `self.specials.<name> =`, use `m.submodules.<name> =`")
|
@deprecated("instead of `self.specials.<name> =`, use `m.submodules.<name> =`")
|
||||||
def __setattr__(self, name, value):
|
def __setattr__(self, name, value):
|
||||||
self._cm._submodules += (name, value)
|
self._cm._specials.append((name, value))
|
||||||
setattr(self._cm, name, value)
|
setattr(self._cm, name, value)
|
||||||
|
|
||||||
@deprecated("instead of `self.specials +=`, use `m.submodules +=`")
|
@deprecated("instead of `self.specials +=`, use `m.submodules +=`")
|
||||||
def __iadd__(self, other):
|
def __iadd__(self, other):
|
||||||
self._cm._submodules += [(None, e) for e in _flat_list(other)]
|
self._cm._specials += [(None, e) for e in _flat_list(other)]
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
||||||
class _CompatModuleSubmodules(_CompatModuleProxy):
|
class _CompatModuleSubmodules(_CompatModuleProxy):
|
||||||
@deprecated("instead of `self.submodules.<name> =`, use `m.submodules.<name> =`")
|
@deprecated("instead of `self.submodules.<name> =`, use `m.submodules.<name> =`")
|
||||||
def __setattr__(self, name, value):
|
def __setattr__(self, name, value):
|
||||||
self._cm._submodules += (name, value)
|
self._cm._submodules.append((name, value))
|
||||||
setattr(self._cm, name, value)
|
setattr(self._cm, name, value)
|
||||||
|
|
||||||
@deprecated("instead of `self.submodules +=`, use `m.submodules +=`")
|
@deprecated("instead of `self.submodules +=`, use `m.submodules +=`")
|
||||||
|
@ -122,6 +122,9 @@ class CompatModule:
|
||||||
elif name == "_submodules":
|
elif name == "_submodules":
|
||||||
self._submodules = []
|
self._submodules = []
|
||||||
return self._submodules
|
return self._submodules
|
||||||
|
elif name == "_specials":
|
||||||
|
self._specials = []
|
||||||
|
return self._specials
|
||||||
elif name == "_clock_domains":
|
elif name == "_clock_domains":
|
||||||
self._clock_domains = []
|
self._clock_domains = []
|
||||||
return self._clock_domains
|
return self._clock_domains
|
||||||
|
@ -132,6 +135,10 @@ class CompatModule:
|
||||||
raise AttributeError("'{}' object has no attribute '{}'"
|
raise AttributeError("'{}' object has no attribute '{}'"
|
||||||
.format(type(self).__name__, name))
|
.format(type(self).__name__, name))
|
||||||
|
|
||||||
|
def _finalize_specials(self):
|
||||||
|
for name, special in self._specials:
|
||||||
|
self._module._add_submodule(special, name)
|
||||||
|
|
||||||
def _finalize_submodules(self):
|
def _finalize_submodules(self):
|
||||||
for name, submodule in self._submodules:
|
for name, submodule in self._submodules:
|
||||||
if not submodule.get_fragment_called:
|
if not submodule.get_fragment_called:
|
||||||
|
|
Loading…
Reference in a new issue