config: Fix broken SimObject listing
The gem5 option '--list-sim-objects' is supposed to list all available SimObjects and their parameters. It currently chokes on SimObjects with parameters that have an object instance as their default value. This is caused by __str__ in SimObject trying to resolve its complete path. When the path resolution method reaches the parent object (a MetaSimObject since it hasn't been instantiated), it dies with a Python exception. This changeset adds a guard to stop path resolution if the parent object is a MetaSimObject.
This commit is contained in:
parent
d7e3d94c14
commit
c84745e2cb
1 changed files with 3 additions and 0 deletions
|
@ -1227,6 +1227,9 @@ class SimObject(object):
|
|||
def path(self):
|
||||
if not self._parent:
|
||||
return '<orphan %s>' % self.__class__
|
||||
elif isinstance(self._parent, MetaSimObject):
|
||||
return str(self.__class__)
|
||||
|
||||
ppath = self._parent.path()
|
||||
if ppath == 'root':
|
||||
return self._name
|
||||
|
|
Loading…
Reference in a new issue