diff options
author | Kevin Lim <ktlim@umich.edu> | 2005-03-15 15:13:24 -0500 |
---|---|---|
committer | Kevin Lim <ktlim@umich.edu> | 2005-03-15 15:13:24 -0500 |
commit | 3833533a64e5a6871ee8e1901c6dd1950d3966c4 (patch) | |
tree | 8fb8d2db0d6a1925734cf703e67a1953645f6599 /python | |
parent | efdab1748f249e1d8e042f4ca29c6e247a32ff90 (diff) | |
parent | aa8ebb9efa8fa8bde55aa330860018139ccdf6f6 (diff) | |
download | gem5-3833533a64e5a6871ee8e1901c6dd1950d3966c4.tar.xz |
Merge ktlim@zizzer.eecs.umich.edu:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/m5
--HG--
extra : convert_revision : 1391d03656a1d75809217c5b2e2aecca6f8a04ba
Diffstat (limited to 'python')
-rw-r--r-- | python/m5/config.py | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/python/m5/config.py b/python/m5/config.py index a9d7a2f41..182acf393 100644 --- a/python/m5/config.py +++ b/python/m5/config.py @@ -35,9 +35,6 @@ try: except: noDot = True -def issequence(value): - return isinstance(value, tuple) or isinstance(value, list) - class Singleton(type): def __call__(cls, *args, **kwargs): if hasattr(cls, '_instance'): @@ -181,7 +178,7 @@ def isSimObject(value): return False def isSimObjSequence(value): - if not issequence(value): + if not isinstance(value, (list, tuple)): return False for val in value: @@ -455,7 +452,7 @@ class MetaConfigNode(type): if isNullPointer(child) or instance.top_child_names.has_key(name): return - if issequence(child): + if isinstance(child, (list, tuple)): kid = [] for i,c in enumerate(child): n = '%s%d' % (name, i) @@ -483,10 +480,10 @@ class MetaConfigNode(type): for key,value in cls._getvalues().iteritems(): if isConfigNode(value): cls.add_child(instance, key, value) - if issequence(value): - list = [ v for v in value if isConfigNode(v) ] - if len(list): - cls.add_child(instance, key, list) + if isinstance(value, (list, tuple)): + vals = [ v for v in value if isConfigNode(v) ] + if len(vals): + cls.add_child(instance, key, vals) for pname,param in cls._getparams().iteritems(): try: @@ -497,7 +494,7 @@ class MetaConfigNode(type): try: if isConfigNode(value): value = instance.child_objects[value] - elif issequence(value): + elif isinstance(value, (list, tuple)): v = [] for val in value: if isConfigNode(val): @@ -699,7 +696,7 @@ class Node(object): pval = param.value try: - if issequence(pval): + if isinstance(pval, (list, tuple)): param.value = [ self.unproxy(ptype, pv) for pv in pval ] else: param.value = self.unproxy(ptype, pval) @@ -952,7 +949,7 @@ class _VectorParam(_Param): if value == None: return True - if issequence(value): + if isinstance(value, (list, tuple)): for val in value: if not isinstance(val, Proxy): self.ptype._convert(val) @@ -965,7 +962,7 @@ class _VectorParam(_Param): if value == None: return [] - if issequence(value): + if isinstance(value, (list, tuple)): # list: coerce each element into new list return [ self.ptype._convert(v) for v in value ] else: @@ -973,7 +970,7 @@ class _VectorParam(_Param): return self.ptype._convert(value) def string(self, value): - if issequence(value): + if isinstance(value, (list, tuple)): return ' '.join([ self.ptype._string(v) for v in value]) else: return self.ptype._string(value) @@ -1339,8 +1336,7 @@ class SimObject(ConfigNode, ParamType): # __all__ defines the list of symbols that get exported when # 'from config import *' is invoked. Try to keep this reasonably # short to avoid polluting other namespaces. -__all__ = ['issequence', - 'ConfigNode', 'SimObject', 'ParamContext', 'Param', 'VectorParam', +__all__ = ['ConfigNode', 'SimObject', 'ParamContext', 'Param', 'VectorParam', 'Super', 'Enum', 'Int', 'Unsigned', 'Int8', 'UInt8', 'Int16', 'UInt16', 'Int32', 'UInt32', 'Int64', 'UInt64', |