From 8e05d5e3fe04face623c4f9fb08b12f13c22edab Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 3 May 2014 11:15:37 +0100 Subject: bitbake: codeparser: Fix to better catch all getVar references Currently if you do localdata.getVar, the code parser simply ignores the references. Change the code to use endswith() to catch more of the references. These names are probably unique enough to get away with this. Bump the cache version to ensure things get updated. (Bitbake rev: 8e386a710023e000a504e05c13da0106df0c7f3a) Signed-off-by: Richard Purdie --- bitbake/lib/bb/codeparser.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/codeparser.py b/bitbake/lib/bb/codeparser.py index de8d2eb08d..6d812560a3 100644 --- a/bitbake/lib/bb/codeparser.py +++ b/bitbake/lib/bb/codeparser.py @@ -35,7 +35,7 @@ def check_indent(codestr): class CodeParserCache(MultiProcessCache): cache_file_name = "bb_codeparser.dat" - CACHE_VERSION = 5 + CACHE_VERSION = 6 def __init__(self): MultiProcessCache.__init__(self) @@ -102,7 +102,7 @@ class BufferedLogger(Logger): self.buffer = [] class PythonParser(): - getvars = ("d.getVar", "bb.data.getVar", "data.getVar", "d.appendVar", "d.prependVar") + getvars = (".getVar", ".appendVar", ".prependVar") containsfuncs = ("bb.utils.contains", "base_contains", "oe.utils.contains") execfuncs = ("bb.build.exec_func", "bb.build.exec_task") @@ -122,7 +122,7 @@ class PythonParser(): def visit_Call(self, node): name = self.called_node_name(node.func) - if name in self.getvars or name in self.containsfuncs: + if name and name.endswith(self.getvars) or name in self.containsfuncs: if isinstance(node.args[0], ast.Str): varname = node.args[0].s if name in self.containsfuncs and isinstance(node.args[1], ast.Str): -- cgit v1.2.3-54-g00ecf