Bug fix & cleanup in config code.

python/m5/config.py:
    Bug fix: code was silently converting between
    incompatible SimObject types as an unintended
    side-effect of the object cloning support.

--HG--
extra : convert_revision : 236f4fe5370f2eddf8af8fab68e2b83dccc34305
This commit is contained in:
Steve Reinhardt 2005-06-03 16:21:37 -04:00
parent 22eccce34b
commit af3add2e33

View file

@ -291,6 +291,10 @@ class SimObject(object):
def __init__(self, _value_parent = None, **kwargs): def __init__(self, _value_parent = None, **kwargs):
self._children = {} self._children = {}
if _value_parent and type(_value_parent) != type(self):
# this was called as a type conversion rather than a clone
raise TypeError, "Cannot convert %s to %s" % \
(_value_parent.__class__.__name__, self.__class__.__name__)
if not _value_parent: if not _value_parent:
_value_parent = self.__class__ _value_parent = self.__class__
# clone values # clone values