Replaced Count-Node by RTL-Function

This commit is contained in:
Michael Schimmel
2026-01-13 23:17:32 +01:00
parent 1258f79347
commit 2cc5e53394
17 changed files with 27 additions and 213 deletions
-22
View File
@@ -76,7 +76,6 @@ type
function VisitMemberAccess(const N: IAstNode): IAstNode;
function VisitRecordLiteral(const N: IAstNode): IAstNode;
function VisitAddSeriesItem(const N: IAstNode): IAstNode;
function VisitSeriesLength(const N: IAstNode): IAstNode;
function VisitRecurNode(const N: IAstNode): IAstNode;
// Unified List Type
@@ -114,7 +113,6 @@ type
function WalkMemberAccess(const N: IAstNode): TVoid;
function WalkRecordLiteral(const N: IAstNode): TVoid;
function WalkAddSeriesItem(const N: IAstNode): TVoid;
function WalkSeriesLength(const N: IAstNode): TVoid;
function WalkRecurNode(const N: IAstNode): TVoid;
function WalkTuple(const N: IAstNode): TVoid;
@@ -220,7 +218,6 @@ begin
Register(akMemberAccess, VisitMemberAccess);
Register(akRecordLiteral, VisitRecordLiteral);
Register(akAddSeriesItem, VisitAddSeriesItem);
Register(akSeriesLength, VisitSeriesLength);
Register(akRecur, VisitRecurNode);
// Unified List Type
@@ -487,19 +484,6 @@ begin
Result := TAst.AddSeriesItem(N.Identity, s.AsIdentifier, v, l, A.StaticType);
end;
function TAstTransformer.VisitSeriesLength(const N: IAstNode): IAstNode;
var
S: ISeriesLengthNode;
series: IAstNode;
begin
S := N.AsSeriesLength;
series := Visit(S.Series);
if series = S.Series then
Result := N
else
Result := TAst.SeriesLength(N.Identity, series.AsIdentifier, S.StaticType);
end;
function TAstTransformer.VisitRecurNode(const N: IAstNode): IAstNode;
var
R: IRecurNode;
@@ -593,7 +577,6 @@ begin
Register(akMemberAccess, WalkMemberAccess);
Register(akRecordLiteral, WalkRecordLiteral);
Register(akAddSeriesItem, WalkAddSeriesItem);
Register(akSeriesLength, WalkSeriesLength);
Register(akRecur, WalkRecurNode);
Register(akTuple, WalkTuple);
@@ -716,11 +699,6 @@ begin
Visit(A.Lookback);
end;
function TAstVisitor.WalkSeriesLength(const N: IAstNode): TVoid;
begin
Visit(N.AsSeriesLength.Series);
end;
function TAstVisitor.WalkRecurNode(const N: IAstNode): TVoid;
begin
Visit(N.AsRecur.Arguments);