summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2018-06-14 12:00:44 +0200
committerUlf Magnusson <ulfalizer@gmail.com>2018-06-14 18:42:01 +0200
commitfbf31fac751c0d76d2f55a0fe649ade5bafed292 (patch)
treebd803ae1f8651a57e7d7a53f2b9757baf757e624
parentc8801514d63aaa6ad78ee62930ca5160fb52f74a (diff)
Fix MenuNode.referenced() on Kconfig.top_node
The property lists weren't created for Kconfig.top_node, making referenced() crash. Add a MenuNode constructor and create the property lists there instead of in _parse_properties().
-rw-r--r--kconfiglib.py16
-rw-r--r--testsuite.py2
2 files changed, 11 insertions, 7 deletions
diff --git a/kconfiglib.py b/kconfiglib.py
index af5415d..609ba7d 100644
--- a/kconfiglib.py
+++ b/kconfiglib.py
@@ -2114,13 +2114,6 @@ class Kconfig(object):
# below.
node.dep = self.y
- # Properties added at this location. A local 'depends on' only applies
- # to these, in case a symbol is defined in multiple locations.
- node.defaults = []
- node.selects = []
- node.implies = []
- node.ranges = []
-
while self._next_line():
t0 = self._next_token()
if t0 is None:
@@ -4171,6 +4164,15 @@ class MenuNode(object):
"ranges"
)
+ def __init__(self):
+ # Properties defined on this particular menu node. A local 'depends on'
+ # only applies to these, in case a symbol is defined in multiple
+ # locations.
+ self.defaults = []
+ self.selects = []
+ self.implies = []
+ self.ranges = []
+
def referenced(self):
"""
Returns a set() of all symbols and choices referenced in the properties
diff --git a/testsuite.py b/testsuite.py
index c773b99..6d27040 100644
--- a/testsuite.py
+++ b/testsuite.py
@@ -1017,6 +1017,8 @@ g
verify_equal(tuple(sorted(item.name for item in item.referenced())),
dep_names)
+ verify_deps(c.top_node, "y")
+
verify_deps(c.syms["NO_REFS"].nodes[0], "y")
verify_deps(c.syms["JUST_DEPENDS_ON_REFS"].nodes[0], "A", "B")