summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/parse/ast.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/parse/ast.py')
-rw-r--r--bitbake/lib/bb/parse/ast.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 0fc3a9e7a4..d7185b1664 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -69,6 +69,33 @@ class ExportNode(AstNode):
69 def eval(self, data): 69 def eval(self, data):
70 data.setVarFlag(self.var, "export", 1, op = 'exported') 70 data.setVarFlag(self.var, "export", 1, op = 'exported')
71 71
72class UnsetNode(AstNode):
73 def __init__(self, filename, lineno, var):
74 AstNode.__init__(self, filename, lineno)
75 self.var = var
76
77 def eval(self, data):
78 loginfo = {
79 'variable': self.var,
80 'file': self.filename,
81 'line': self.lineno,
82 }
83 data.delVar(self.var,**loginfo)
84
85class UnsetFlagNode(AstNode):
86 def __init__(self, filename, lineno, var, flag):
87 AstNode.__init__(self, filename, lineno)
88 self.var = var
89 self.flag = flag
90
91 def eval(self, data):
92 loginfo = {
93 'variable': self.var,
94 'file': self.filename,
95 'line': self.lineno,
96 }
97 data.delVarFlag(self.var, self.flag, **loginfo)
98
72class DataNode(AstNode): 99class DataNode(AstNode):
73 """ 100 """
74 Various data related updates. For the sake of sanity 101 Various data related updates. For the sake of sanity
@@ -270,6 +297,12 @@ def handleInclude(statements, filename, lineno, m, force):
270def handleExport(statements, filename, lineno, m): 297def handleExport(statements, filename, lineno, m):
271 statements.append(ExportNode(filename, lineno, m.group(1))) 298 statements.append(ExportNode(filename, lineno, m.group(1)))
272 299
300def handleUnset(statements, filename, lineno, m):
301 statements.append(UnsetNode(filename, lineno, m.group(1)))
302
303def handleUnsetFlag(statements, filename, lineno, m):
304 statements.append(UnsetFlagNode(filename, lineno, m.group(1), m.group(2)))
305
273def handleData(statements, filename, lineno, groupd): 306def handleData(statements, filename, lineno, groupd):
274 statements.append(DataNode(filename, lineno, groupd)) 307 statements.append(DataNode(filename, lineno, groupd))
275 308