Imutability for macro nodes

This commit is contained in:
Michael Schimmel
2025-11-05 12:19:34 +01:00
parent 60358365cd
commit 9bd2d6f7ab
10 changed files with 385 additions and 151 deletions
+1 -1
View File
@@ -1809,7 +1809,7 @@ end;
function TMacroExpansionNodeHandler.ReconstructAst(OwnerNode: TAuraNode): IAstNode;
begin
Result := TAst.MacroExpansionNode(FNode, FExpandedBodyNode.CreateAst);
Result := TAst.MacroExpansionNode(FNode.CallNode, FExpandedBodyNode.CreateAst);
end;
{ TRecurNodeHandler }
+1 -1
View File
@@ -117,7 +117,7 @@ begin
// To represent a macro expansion as a single line of text, the most
// informative representation is the original call itself. We can simply
// delegate to the VisitFunctionCall implementation to format it.
Result := VisitFunctionCall(Node);
Result := VisitFunctionCall(Node.CallNode);
end;
function TAstToTextVisitor.VisitRecurNode(const Node: IRecurNode): string;