params: small cleanup to param description internals
authorNathan Binkert <nate@binkert.org>
Tue, 22 Sep 2009 22:24:16 +0000 (15:24 -0700)
committerNathan Binkert <nate@binkert.org>
Tue, 22 Sep 2009 22:24:16 +0000 (15:24 -0700)
src/SConscript
src/python/m5/params.py

index 687709ac136bbcfe78306e31469ece4a3d631b96..d3323f0a09a04c3f95c653e90d477ab2ce0ef5f9 100644 (file)
@@ -489,12 +489,7 @@ for name,simobj in sorted(sim_objects.iteritems()):
 # Generate any parameter header files needed
 params_i_files = []
 for name,param in all_params.iteritems():
-    if isinstance(param, m5.params.VectorParamDesc):
-        ext = 'vptype'
-    else:
-        ext = 'ptype'
-
-    i_file = File('params/%s_%s.i' % (name, ext))
+    i_file = File('params/%s_%s.i' % (name, param.file_ext))
     params_i_files.append(i_file)
     env.Command(i_file, Value(name), createSwigParam)
     env.Depends(i_file, depends)
index 3a3a300148219ab24f69c624504a6cd97787c4e8..cf64070c55878766c60cb96ffc7e0d147c191e9b 100644 (file)
@@ -93,6 +93,8 @@ class ParamValue(object):
 
 # Regular parameter description.
 class ParamDesc(object):
+    file_ext = 'ptype'
+
     def __init__(self, ptype_str, ptype, *args, **kwargs):
         self.ptype_str = ptype_str
         # remember ptype only if it is provided
@@ -127,7 +129,7 @@ class ParamDesc(object):
     def __getattr__(self, attr):
         if attr == 'ptype':
             ptype = SimObject.allClasses[self.ptype_str]
-            assert issubclass(ptype, SimObject.SimObject)
+            assert isSimObjectClass(ptype)
             self.ptype = ptype
             return ptype
 
@@ -182,6 +184,8 @@ class SimObjVector(VectorParamValue):
             v.print_ini(ini_file)
 
 class VectorParamDesc(ParamDesc):
+    file_ext = 'vptype'
+
     # Convert assigned value to appropriate type.  If the RHS is not a
     # list or tuple, it generates a single-element list.
     def convert(self, value):