Patchwork [bitbake-devel] methodpool: Clean up the parsed module list handling to be slightly less insane

login
register
mail settings
Submitter Richard Purdie
Date Aug. 22, 2012, 12:53 p.m.
Message ID <1345639991.3907.106.camel@ted>
Download mbox | patch
Permalink /patch/35129/
State New
Headers show

Comments

Richard Purdie - Aug. 22, 2012, 12:53 p.m.
This removes some dubious functions and replaces them with a simpler, cleaner
API which better describes what the code is doing. Unused code/variables are
removed and comments tweaked.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---

Patch

diff --git a/bitbake/lib/bb/methodpool.py b/bitbake/lib/bb/methodpool.py
index 3b8e5c1..2fb5d96 100644
--- a/bitbake/lib/bb/methodpool.py
+++ b/bitbake/lib/bb/methodpool.py
@@ -33,9 +33,7 @@ 
 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 = { }
+# A dict of function names we have seen
 _parsed_fns     = { }
 
 def insert_method(modulename, code, fn):
@@ -56,15 +54,18 @@  def insert_method(modulename, code, fn):
         else:
             _parsed_fns[name] = modulename
 
+# A dict of modules the parser has finished with
+_parsed_methods = {}
+
 def parsed_module(modulename):
     """
-    Inform me file xyz was parsed
+    Has module been parsed?
     """
     return modulename in _parsed_methods
 
-
-def get_parsed_dict():
+def set_parsed_module(modulename):
     """
-    shortcut
+    Set module as parsed
     """
-    return _parsed_methods
+    _parsed_methods[modulename] = True
+
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index b88d5f5..4d3a623 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -31,7 +31,6 @@  import itertools
 from bb import methodpool
 from bb.parse import logger
 
-__parsed_methods__ = bb.methodpool.get_parsed_dict()
 _bbversions_re = re.compile(r"\[(?P<from>[0-9]+)-(?P<to>[0-9]+)\]")
 
 class StatementGroup(list):
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 625a2a2..2e0647b 100644
--- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -161,7 +161,7 @@  def handle(fn, d, include):
 
     # we have parsed the bb class now
     if ext == ".bbclass" or ext == ".inc":
-        bb.methodpool.get_parsed_dict()[base_name] = 1
+        bb.methodpool.set_parsed_module(base_name)
 
     return d