diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-05 14:41:19 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-08 21:58:56 +0200 |
commit | b5c9cb3137e84a17b425ca39df38708da0b4f4a1 (patch) | |
tree | d96e88e46bbad391fd8435118262ea38960595f6 | |
parent | glossary: Support hierarchical glossary terms (diff) | |
download | rtems-central-b5c9cb3137e84a17b425ca39df38708da0b4f4a1.tar.bz2 |
specview.py: Recursive enabled-by for interfaces
-rwxr-xr-x | specview.py | 9 |
1 files changed, 8 insertions, 1 deletions
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 |