hdl.ir: raise a more descriptive error on non-elaboratable object.
This commit is contained in:
parent
43e4833ddb
commit
8ee6bd80ff
2 changed files with 14 additions and 3 deletions
|
|
@ -18,9 +18,13 @@ class Fragment:
|
|||
def get(obj, platform):
|
||||
if isinstance(obj, Fragment):
|
||||
return obj
|
||||
if not hasattr(obj, "elaborate"): # :deprecated:
|
||||
return Fragment.get(obj.get_fragment(platform), platform)
|
||||
return Fragment.get(obj.elaborate(platform), platform)
|
||||
if hasattr(obj, "elaborate"):
|
||||
frag = obj.elaborate(platform)
|
||||
elif hasattr(obj, "get_fragment"): # :deprecated:
|
||||
frag = obj.get_fragment(platform)
|
||||
else:
|
||||
raise AttributeError("Object '{!r}' cannot be elaborated".format(obj))
|
||||
return Fragment.get(frag, platform)
|
||||
|
||||
def __init__(self):
|
||||
self.ports = SignalDict()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue