gem5/python/m5/__init__.py
Steve Reinhardt 8dff74b26f Clean up import situation... key things are:
- global tracking of legitimate param types in
separate dict keeps us from having to import
objects in config.py, which gets rid of nasty
circular dependence
- use __all__ in config.py and restrict imports
from mpy_importer to reduce m5 namespace pollution

python/m5/__init__.py:
    Try to limit namespace pollution by only importing
    what's needed from mpy_importer.
    Explicitly set up legal parameter types rather than
    relying on eval().
python/m5/config.py:
    Use empty ParamType base class to distinguish
    types that are legitimate SimObject params.
    Explicitly add these to global param_types map.
    Rework CheckedInt and Range classes a little bit
    to fit in better with the model.
    No need to import objects here any longer.
    Add __all__ list to specify subset of names that
    get exported on 'from m5.config import *'.

--HG--
extra : convert_revision : 01c6e82e0b175fc9b3df25dd0cc80ecd842680bc
2005-03-13 00:36:06 -05:00

12 lines
242 B
Python

from mpy_importer import AddToPath, LoadMpyFile
from config import *
config.add_param_types(config.__dict__)
from objects import *
config.add_param_types(objects.__dict__)
cpp_classes = config.MetaSimObject.cpp_classes
cpp_classes.sort()