From 8f6cb7a4ffd3731e85d78ebaba715efdfb849acd Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Tue, 12 Jun 2018 22:10:48 +0200 Subject: Simplify expr_items() Same cleanup as for _make_depend_on(). Rename 'deps' to 'res' as well. The result can be used for other stuff besides figuring out dependencies. --- kconfiglib.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'kconfiglib.py') diff --git a/kconfiglib.py b/kconfiglib.py index d480c96..e490d48 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -4425,23 +4425,23 @@ def expr_items(expr): expression 'expr'. """ - deps = set() + res = set() def rec(subexpr): - if not isinstance(subexpr, tuple): - # Symbol or choice - deps.add(subexpr) - - elif subexpr[0] == NOT: + if isinstance(subexpr, tuple): + # AND, OR, NOT or relation rec(subexpr[1]) + # NOTs only have a single operand + if subexpr[0] != NOT: + rec(subexpr[2]) + else: - # AND, OR, or relation - rec(subexpr[1]) - rec(subexpr[2]) + # Symbol or choice + res.add(subexpr) rec(expr) - return deps + return res def split_expr(expr, op): """ -- cgit v1.2.3