[util] Don't hack __repr__ in FlowCfg
This can cause an infinite recursion if you try to print a FlowCfg
object:
File "/src/lr/opentitan/util/dvsim/FlowCfg.py", line 28, in __repr__
return pprint.pformat(self.__dict__)
File "/usr/lib/python3.8/pprint.py", line 58, in pformat
return PrettyPrinter(indent=indent, width=width, depth=depth,
File "/usr/lib/python3.8/pprint.py", line 153, in pformat
self._format(object, sio, 0, 0, {}, 0)
File "/usr/lib/python3.8/pprint.py", line 170, in _format
rep = self._repr(object, context, level)
File "/usr/lib/python3.8/pprint.py", line 404, in _repr
repr, readable, recursive = self.format(object, context.copy(),
File "/usr/lib/python3.8/pprint.py", line 417, in format
return _safe_repr(object, context, maxlevels, level, self._sort_dicts)
File "/usr/lib/python3.8/pprint.py", line 528, in _safe_repr
vrepr, vreadable, vrecur = _safe_repr(v, context, maxlevels, level, sort_dicts)
File "/usr/lib/python3.8/pprint.py", line 560, in _safe_repr
orepr, oreadable, orecur = _safe_repr(o, context, maxlevels, level, sort_dicts)
File "/usr/lib/python3.8/pprint.py", line 569, in _safe_repr
rep = repr(object)
File "/src/lr/opentitan/util/dvsim/FlowCfg.py", line 28, in __repr__
return pprint.pformat(self.__dict__)
...
The __repr__ function isn't for pretty-printing: leave that to
__str__.
Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/util/dvsim/FlowCfg.py b/util/dvsim/FlowCfg.py
index 9480483..080e165 100644
--- a/util/dvsim/FlowCfg.py
+++ b/util/dvsim/FlowCfg.py
@@ -24,9 +24,6 @@
def __str__(self):
return pprint.pformat(self.__dict__)
- def __repr__(self):
- return pprint.pformat(self.__dict__)
-
def __init__(self, flow_cfg_file, proj_root, args):
# Options set from command line
self.items = args.items