Byproducts of aborted attempt to refine 'parent' proxy semantics.
Mostly cleanup of mpy_importer.mpy_parse(). python/m5/__init__.py: Move panic() up to top in case we want to use it in mpy_importer (though I ended up not doing that after all). python/m5/config.py: Add a couple of comments and a check for expressions like parent.any.foo (which is illegal). --HG-- extra : convert_revision : dfc99ac9b1a2d91a736ca0b773b6d3c528a4f3cc
This commit is contained in:
parent
8b9e38c303
commit
c929ee2c10
2 changed files with 8 additions and 5 deletions
|
@ -1,14 +1,14 @@
|
|||
import sys, os
|
||||
|
||||
# the mpy import code is added to the global import meta_path as a
|
||||
# side effect of this import
|
||||
from mpy_importer import AddToPath, LoadMpyFile
|
||||
|
||||
# define this here so we can use it right away if necessary
|
||||
def panic(string):
|
||||
print >>sys.stderr, 'panic:', string
|
||||
sys.exit(1)
|
||||
|
||||
# the mpy import code is added to the global import meta_path as a
|
||||
# side effect of this import
|
||||
from mpy_importer import AddToPath, LoadMpyFile
|
||||
|
||||
# find the m5 compile options: must be specified as a dict in
|
||||
# __main__.m5_build_env.
|
||||
import __main__
|
||||
|
|
|
@ -151,8 +151,11 @@ class Proxy(object):
|
|||
self._multiplier = None
|
||||
|
||||
def __getattr__(self, attr):
|
||||
# python uses __bases__ internally for inheritance
|
||||
if attr == '__bases__':
|
||||
return super(Proxy, self).__getattr__(self, attr)
|
||||
if (self._path == None):
|
||||
panic("Can't add attributes to 'any' proxy")
|
||||
self._path.append((attr,None))
|
||||
return self
|
||||
|
||||
|
@ -347,7 +350,7 @@ class MetaConfigNode(type):
|
|||
elif isNullPointer(val):
|
||||
cls._values[key] = val
|
||||
|
||||
# process param types from _init_dict, as these may be needed
|
||||
# process param types from _init_dict first, as these may be needed
|
||||
# by param descriptions also in _init_dict
|
||||
for key,val in cls._init_dict.items():
|
||||
if isinstance(val, type) and issubclass(val, ParamType):
|
||||
|
|
Loading…
Reference in a new issue