X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/5b211a176c805745d48517eff99c4dd651f2da75..2b0380cba5e5adc73299bbaccdc7d20b84825cc1:/lunaix-os/scripts/build-tools/lcfg2/nodes.py diff --git a/lunaix-os/scripts/build-tools/lcfg2/nodes.py b/lunaix-os/scripts/build-tools/lcfg2/nodes.py index 19ead50..3b42394 100644 --- a/lunaix-os/scripts/build-tools/lcfg2/nodes.py +++ b/lunaix-os/scripts/build-tools/lcfg2/nodes.py @@ -1,6 +1,6 @@ import ast -from lib.utils import SourceLogger, Schema +from lib.utils import SourceLogger, Schema from .common import NodeProperty, ConfigNodeError, NodeDependency from .lazy import LazyLookup from .rewriter import ConfigNodeASTRewriter @@ -40,8 +40,13 @@ class ConfigNode: NodeProperty.Readonly[self] = False NodeProperty.Status[self] = "Empty" - def set_node_body(self, ast_nodes, rewriter = ConfigNodeASTRewriter): - new_ast = ast.Module(ast_nodes, []) + def set_node_body(self, ast_nodes): + self.__exec = ast.Module(ast_nodes, []) + + def apply_node_body(self, rewriter = ConfigNodeASTRewriter): + assert isinstance(self.__exec, ast.Module) + + new_ast = self.__exec validator.validate(self, new_ast) new_ast = rewriter(self).rewrite(new_ast)