[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