[rtems-central commit] specview.py: Recursive enabled-by for interfaces

Sebastian Huber sebh at rtems.org
Tue May 9 13:45:26 UTC 2023


Module:    rtems-central
Branch:    master
Commit:    b5c9cb3137e84a17b425ca39df38708da0b4f4a1
Changeset: http://git.rtems.org/rtems-central/commit/?id=b5c9cb3137e84a17b425ca39df38708da0b4f4a1

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri May  5 14:41:19 2023 +0200

specview.py: Recursive enabled-by for interfaces

---

 specview.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/specview.py b/specview.py
index 460da373..7b6d0d2d 100755
--- a/specview.py
+++ b/specview.py
@@ -189,6 +189,13 @@ _VALIDATION_LEAF = [
 _VALIDATION_ROLES = _CHILD_ROLES + ["validation"]
 
 
+def _is_enabled(item: Item) -> bool:
+    result = item.enabled
+    for parent in item.parents("interface-placement"):
+        result = result and _is_enabled(parent)
+    return result
+
+
 def _validate_tree(item: Item) -> bool:
     pre_qualified = is_pre_qualified(item)
     item["_pre_qualified"] = pre_qualified
@@ -209,7 +216,7 @@ def _validate_containers(item: Item) -> None:
             item.cache.items_by_type["interface/domain"],
             item.cache.items_by_type["interface/header-file"]):
         for item_3 in item_2.children("interface-placement"):
-            if not item_3["_validated"]:
+            if _is_enabled(item_3) and not item_3["_validated"]:
                 item_2["_validated"] = False
                 break
 



More information about the vc mailing list