Make ConfigNodes as intermediate containers work again.

python/m5/config.py:
    move the type stuff into the Node constructor and
    only try to grab self.type if the realtype is a SimObject

--HG--
extra : convert_revision : 00f6ece47e3812f67f9e1f062fe9c060bd6dd1cf
This commit is contained in:
Nathan Binkert 2005-03-11 18:30:44 -05:00
parent cf05fa476d
commit fa1650a08e

View file

@ -449,7 +449,7 @@ class MetaConfigNode(type):
# Print instance info to .ini file. # Print instance info to .ini file.
def instantiate(cls, name, parent = None): def instantiate(cls, name, parent = None):
instance = Node(name, cls, cls.type, parent, isParamContext(cls)) instance = Node(name, cls, parent, isParamContext(cls))
if hasattr(cls, 'check'): if hasattr(cls, 'check'):
cls.check() cls.check()
@ -584,10 +584,13 @@ class NodeParam(object):
class Node(object): class Node(object):
all = {} all = {}
def __init__(self, name, realtype, type, parent, paramcontext): def __init__(self, name, realtype, parent, paramcontext):
self.name = name self.name = name
self.realtype = realtype self.realtype = realtype
self.type = type if isSimObject(realtype):
self.type = realtype.type
else:
self.type = None
self.parent = parent self.parent = parent
self.children = [] self.children = []
self.child_names = {} self.child_names = {}