Bug fix & cleanup in config code.
authorSteve Reinhardt <stever@eecs.umich.edu>
Fri, 3 Jun 2005 20:21:37 +0000 (16:21 -0400)
committerSteve Reinhardt <stever@eecs.umich.edu>
Fri, 3 Jun 2005 20:21:37 +0000 (16:21 -0400)
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

python/m5/config.py

index 48d945d14094699d0521df8ff0c4185705b173f6..091df36621ab6d959f4c7a6b731619e8a27a5876 100644 (file)
@@ -291,6 +291,10 @@ class SimObject(object):
 
     def __init__(self, _value_parent = None, **kwargs):
         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:
             _value_parent = self.__class__
         # clone values