diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2006-04-14 22:48:14 +0000 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2006-04-14 22:48:14 +0000 |
commit | f133b4045bfb1f5f86e5b86a319b926e4881ee5f (patch) | |
tree | 20a59a7fa0604088090b0d2e0920c3a62e516de3 /lib/bb/methodpool.py | |
parent | 5fc9855dbda6dd6da1db04d13dc2c4383e6596da (diff) | |
download | bitbake-f133b4045bfb1f5f86e5b86a319b926e4881ee5f.tar.gz |
bitbake/lib/bb/methodpool.py:
-Extract the names from the just compiled code
-Iterate over each key (leaving out Keys and None)
-And see if we have seen the name already.
-If we have seen it, raise an error...
Diffstat (limited to 'lib/bb/methodpool.py')
-rw-r--r-- | lib/bb/methodpool.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/bb/methodpool.py b/lib/bb/methodpool.py index 595825be5..e14986bc1 100644 --- a/lib/bb/methodpool.py +++ b/lib/bb/methodpool.py @@ -46,10 +46,12 @@ """ from bb.utils import better_compile, better_exec +from bb import error # A dict of modules we have handled # it is the number of .bbclasses + x in size _parsed_methods = { } +_parsed_fns = { } def insert_method(modulename, code, fn): """ @@ -59,6 +61,16 @@ def insert_method(modulename, code, fn): comp = better_compile(code, "<bb>", fn ) better_exec(comp, __builtins__, code, fn) + # now some instrumentation + code = comp.co_names + for name in code: + if name in ['None', 'False']: + continue + elif name in _parsed_fns and not _parsed_fns[name] == modulename: + error( "Error Method already seen: %s in' %s' now in '%s'" % (name, _parsed_fns[name], modulename)) + else: + _parsed_fns[name] = modulename + def check_insert_method(modulename, code, fn): """ Add the code if it wasnt added before. The module |