params: small cleanup to param description internals
This commit is contained in:
parent
e9288b2cd3
commit
30d5d95b6a
2 changed files with 6 additions and 7 deletions
|
@ -489,12 +489,7 @@ for name,simobj in sorted(sim_objects.iteritems()):
|
||||||
# Generate any parameter header files needed
|
# Generate any parameter header files needed
|
||||||
params_i_files = []
|
params_i_files = []
|
||||||
for name,param in all_params.iteritems():
|
for name,param in all_params.iteritems():
|
||||||
if isinstance(param, m5.params.VectorParamDesc):
|
i_file = File('params/%s_%s.i' % (name, param.file_ext))
|
||||||
ext = 'vptype'
|
|
||||||
else:
|
|
||||||
ext = 'ptype'
|
|
||||||
|
|
||||||
i_file = File('params/%s_%s.i' % (name, ext))
|
|
||||||
params_i_files.append(i_file)
|
params_i_files.append(i_file)
|
||||||
env.Command(i_file, Value(name), createSwigParam)
|
env.Command(i_file, Value(name), createSwigParam)
|
||||||
env.Depends(i_file, depends)
|
env.Depends(i_file, depends)
|
||||||
|
|
|
@ -93,6 +93,8 @@ class ParamValue(object):
|
||||||
|
|
||||||
# Regular parameter description.
|
# Regular parameter description.
|
||||||
class ParamDesc(object):
|
class ParamDesc(object):
|
||||||
|
file_ext = 'ptype'
|
||||||
|
|
||||||
def __init__(self, ptype_str, ptype, *args, **kwargs):
|
def __init__(self, ptype_str, ptype, *args, **kwargs):
|
||||||
self.ptype_str = ptype_str
|
self.ptype_str = ptype_str
|
||||||
# remember ptype only if it is provided
|
# remember ptype only if it is provided
|
||||||
|
@ -127,7 +129,7 @@ class ParamDesc(object):
|
||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
if attr == 'ptype':
|
if attr == 'ptype':
|
||||||
ptype = SimObject.allClasses[self.ptype_str]
|
ptype = SimObject.allClasses[self.ptype_str]
|
||||||
assert issubclass(ptype, SimObject.SimObject)
|
assert isSimObjectClass(ptype)
|
||||||
self.ptype = ptype
|
self.ptype = ptype
|
||||||
return ptype
|
return ptype
|
||||||
|
|
||||||
|
@ -182,6 +184,8 @@ class SimObjVector(VectorParamValue):
|
||||||
v.print_ini(ini_file)
|
v.print_ini(ini_file)
|
||||||
|
|
||||||
class VectorParamDesc(ParamDesc):
|
class VectorParamDesc(ParamDesc):
|
||||||
|
file_ext = 'vptype'
|
||||||
|
|
||||||
# Convert assigned value to appropriate type. If the RHS is not a
|
# Convert assigned value to appropriate type. If the RHS is not a
|
||||||
# list or tuple, it generates a single-element list.
|
# list or tuple, it generates a single-element list.
|
||||||
def convert(self, value):
|
def convert(self, value):
|
||||||
|
|
Loading…
Reference in a new issue