From e2ebe0ef46a8b4619e219eef88df7660a0a0b4eb Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Sat, 4 Oct 2025 18:14:33 +0200 Subject: make ctype the same as the printed AST Signed-off-by: Paolo Bonzini --- mesonbuild/ast/interpreter.py | 2 +- mesonbuild/ast/printer.py | 2 +- mesonbuild/cargo/builder.py | 2 +- mesonbuild/interpreterbase/interpreterbase.py | 2 +- mesonbuild/mparser.py | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mesonbuild/ast/interpreter.py b/mesonbuild/ast/interpreter.py index 8a7386a4f..133d78d5d 100644 --- a/mesonbuild/ast/interpreter.py +++ b/mesonbuild/ast/interpreter.py @@ -619,7 +619,7 @@ class AstInterpreter(InterpreterBase): return left != right elif node.ctype == 'in': return left in right - elif node.ctype == 'notin': + elif node.ctype == 'not in': return left not in right elif isinstance(node, mparser.TernaryNode): cond = self.node_to_runtime_value(node.condition) diff --git a/mesonbuild/ast/printer.py b/mesonbuild/ast/printer.py index 0d0c821d4..af865a48d 100644 --- a/mesonbuild/ast/printer.py +++ b/mesonbuild/ast/printer.py @@ -138,7 +138,7 @@ class AstPrinter(AstVisitor): def visit_ComparisonNode(self, node: mparser.ComparisonNode) -> None: node.left.accept(self) - self.append_padded(node.ctype if node.ctype != 'notin' else 'not in', node) + self.append_padded(node.ctype, node) node.lineno = self.curr_line or node.lineno node.right.accept(self) diff --git a/mesonbuild/cargo/builder.py b/mesonbuild/cargo/builder.py index 8800b9f66..9bee52b3c 100644 --- a/mesonbuild/cargo/builder.py +++ b/mesonbuild/cargo/builder.py @@ -162,7 +162,7 @@ class Builder: :param rhs: the right hand side of the "not in" :return: A comparison node """ - return mparser.ComparisonNode('notin', lhs, self._symbol('not in'), rhs) + return mparser.ComparisonNode('not in', lhs, self._symbol('not in'), rhs) def or_(self, lhs: mparser.BaseNode, rhs: mparser.BaseNode) -> mparser.OrNode: """Create and OrNode diff --git a/mesonbuild/interpreterbase/interpreterbase.py b/mesonbuild/interpreterbase/interpreterbase.py index f40a27e31..828bb6446 100644 --- a/mesonbuild/interpreterbase/interpreterbase.py +++ b/mesonbuild/interpreterbase/interpreterbase.py @@ -347,7 +347,7 @@ class InterpreterBase: # New code based on InterpreterObjects operator = { 'in': MesonOperator.IN, - 'notin': MesonOperator.NOT_IN, + 'not in': MesonOperator.NOT_IN, '==': MesonOperator.EQUALS, '!=': MesonOperator.NOT_EQUALS, '>': MesonOperator.GREATER, diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py index b9bc22213..f80706a90 100644 --- a/mesonbuild/mparser.py +++ b/mesonbuild/mparser.py @@ -674,7 +674,7 @@ class ParenthesizedNode(BaseNode): self.is_multiline = False if T.TYPE_CHECKING: - COMPARISONS = Literal['==', '!=', '<', '<=', '>=', '>', 'in', 'notin'] + COMPARISONS = Literal['==', '!=', '<', '<=', '>=', '>', 'in', 'not in'] comparison_map: T.Mapping[str, COMPARISONS] = { 'equal': '==', @@ -684,7 +684,7 @@ comparison_map: T.Mapping[str, COMPARISONS] = { 'gt': '>', 'ge': '>=', 'in': 'in', - 'not in': 'notin', + 'not in': 'not in', } # Recursive descent parser for Meson's definition language. @@ -844,7 +844,7 @@ class Parser: not_token.bytespan = (not_token.bytespan[0], in_token.bytespan[1]) not_token.value += temp_node.whitespaces.value + in_token.value operator = self.create_node(SymbolNode, not_token) - return self.create_node(ComparisonNode, 'notin', left, operator, self.e5()) + return self.create_node(ComparisonNode, 'not in', left, operator, self.e5()) return left def e5(self) -> BaseNode: -- cgit v1.2.3