Refactor populate_opt_with_data()
authorAlexander Popov <alex.popov@linux.com>
Sat, 22 Jul 2023 21:44:17 +0000 (00:44 +0300)
committerAlexander Popov <alex.popov@linux.com>
Sat, 22 Jul 2023 21:44:17 +0000 (00:44 +0300)
Much better code, no functional changes

kconfig_hardened_check/engine.py

index 8f3191bd75182caeb390c14f30e78edd1645d9e7..2e86ef307f1eea244fa593dc5899f095b578c35b 100644 (file)
@@ -269,17 +269,16 @@ def populate_simple_opt_with_data(opt, data, data_type):
 
 
 def populate_opt_with_data(opt, data, data_type):
-    if opt.type == 'complex':
+    assert(opt.type != 'version'), 'a single VersionCheck is useless'
+    if opt.type != 'complex':
+        populate_simple_opt_with_data(opt, data, data_type)
+    else:
         for o in opt.opts:
-            if o.type == 'complex':
+            if o.type != 'complex':
+                populate_simple_opt_with_data(o, data, data_type)
+            else:
                 # Recursion for nested ComplexOptCheck objects
                 populate_opt_with_data(o, data, data_type)
-            else:
-                populate_simple_opt_with_data(o, data, data_type)
-    else:
-        assert(opt.type != 'version'), \
-               'a simple check with a single VersionCheck is useless'
-        populate_simple_opt_with_data(opt, data, data_type)
 
 
 def populate_with_data(checklist, data, data_type):