]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: [parser] Prepare to cease out getFunc
authorHolger Freyther <ich@tamarin.(none)>
Mon, 18 May 2009 18:03:50 +0000 (20:03 +0200)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 15 Feb 2010 17:07:40 +0000 (17:07 +0000)
getFunc is now a method of the data node, hopefully we can kill the other
version soon.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/parse/ast.py

index 55bf847d1b4a85306cdb133461d67113c1a43df7..26bd7236c9c7916d6e98a1d8394d7c5dd0954e7a 100644 (file)
@@ -26,6 +26,12 @@ import bb, re, string
 __word__ = re.compile(r"\S+")
 __parsed_methods__ = bb.methodpool.get_parsed_dict()
 
+def getFunc(groupd, key, data):
+    if 'flag' in groupd and groupd['flag'] != None:
+        return bb.data.getVarFlag(key, groupd['flag'], data)
+    else:
+        return bb.data.getVar(key, data)
+
 class StatementGroup:
     def __init__(self):
         self.statements = []
@@ -78,13 +84,19 @@ class DataNode:
     def __init__(self, groupd):
         self.groupd = groupd
 
+    def getFunc(self, key, data):
+        if 'flag' in self.groupd and self.groupd['flag'] != None:
+            return bb.data.getVarFlag(key, self.groupd['flag'], data)
+        else:
+            return bb.data.getVar(key, data)
+
     def eval(self, data):
         groupd = self.groupd
         key = groupd["var"]
         if "exp" in groupd and groupd["exp"] != None:
             bb.data.setVarFlag(key, "export", 1, data)
         if "ques" in groupd and groupd["ques"] != None:
-            val = getFunc(groupd, key, data)
+            val = self.getFunc(key, data)
             if val == None:
                 val = groupd["value"]
         elif "colon" in groupd and groupd["colon"] != None:
@@ -92,13 +104,13 @@ class DataNode:
             bb.data.update_data(e)
             val = bb.data.expand(groupd["value"], e)
         elif "append" in groupd and groupd["append"] != None:
-            val = "%s %s" % ((getFunc(groupd, key, data) or ""), groupd["value"])
+            val = "%s %s" % ((self.getFunc(key, data) or ""), groupd["value"])
         elif "prepend" in groupd and groupd["prepend"] != None:
-            val = "%s %s" % (groupd["value"], (getFunc(groupd, key, data) or ""))
+            val = "%s %s" % (groupd["value"], (self.getFunc(key, data) or ""))
         elif "postdot" in groupd and groupd["postdot"] != None:
-            val = "%s%s" % ((getFunc(groupd, key, data) or ""), groupd["value"])
+            val = "%s%s" % ((self.getFunc(key, data) or ""), groupd["value"])
         elif "predot" in groupd and groupd["predot"] != None:
-            val = "%s%s" % (groupd["value"], (getFunc(groupd, key, data) or ""))
+            val = "%s%s" % (groupd["value"], (self.getFunc(key, data) or ""))
         else:
             val = groupd["value"]
         if 'flag' in groupd and groupd['flag'] != None:
@@ -108,7 +120,6 @@ class DataNode:
             bb.data.setVar(key, val, data)
 
         
-
 def handleInclude(statements, m, fn, lineno, data, force):
     # AST handling
     statements.append(IncludeNode(m.group(1), fn, lineno, force))
@@ -157,12 +168,6 @@ def handleData(statements, groupd, data):
     else:
         bb.data.setVar(key, val, data)
 
-def getFunc(groupd, key, data):
-    if 'flag' in groupd and groupd['flag'] != None:
-        return bb.data.getVarFlag(key, groupd['flag'], data)
-    else:
-        return bb.data.getVar(key, data)
-
 def handleMethod(statements, func_name, lineno, fn, body, d):
     if func_name == "__anonymous":
         funcname = ("__anon_%s_%s" % (lineno, fn.translate(string.maketrans('/.+-', '____'))))