Pipe Parameter is now a Tuple
This commit is contained in:
@@ -53,9 +53,6 @@ type
|
||||
function VisitRecurNode(const N: IAstNode): TVoid;
|
||||
function VisitNop(const N: IAstNode): TVoid;
|
||||
|
||||
function VisitPipeInput(const N: IAstNode): TVoid;
|
||||
function VisitPipeSelectorList(const N: IAstNode): TVoid;
|
||||
function VisitPipeInputList(const N: IAstNode): TVoid;
|
||||
function VisitPipe(const N: IAstNode): TVoid;
|
||||
|
||||
protected
|
||||
@@ -115,9 +112,6 @@ begin
|
||||
Register(akRecur, VisitRecurNode);
|
||||
Register(akNop, VisitNop);
|
||||
|
||||
Register(akPipeInput, VisitPipeInput);
|
||||
Register(akPipeSelectorList, VisitPipeSelectorList);
|
||||
Register(akPipeInputList, VisitPipeInputList);
|
||||
Register(akPipe, VisitPipe);
|
||||
end;
|
||||
|
||||
@@ -155,54 +149,14 @@ end;
|
||||
|
||||
// --- Implementations ---
|
||||
|
||||
function TPrettyPrintVisitor.VisitPipeInput(const N: IAstNode): TVoid;
|
||||
var
|
||||
P: IPipeInputNode;
|
||||
begin
|
||||
P := N.AsPipeInput;
|
||||
Visit(P.StreamSource);
|
||||
Append(' ');
|
||||
Visit(P.Selectors);
|
||||
end;
|
||||
|
||||
function TPrettyPrintVisitor.VisitPipeSelectorList(const N: IAstNode): TVoid;
|
||||
var
|
||||
L: IPipeSelectorList;
|
||||
i: Integer;
|
||||
begin
|
||||
L := N.AsPipeSelectorList;
|
||||
Append('[');
|
||||
for i := 0 to L.Count - 1 do
|
||||
begin
|
||||
if i > 0 then
|
||||
Append(' ');
|
||||
Visit(L[i]);
|
||||
end;
|
||||
Append(']');
|
||||
end;
|
||||
|
||||
function TPrettyPrintVisitor.VisitPipeInputList(const N: IAstNode): TVoid;
|
||||
var
|
||||
L: IPipeInputList;
|
||||
i: Integer;
|
||||
begin
|
||||
L := N.AsPipeInputList;
|
||||
Append('[');
|
||||
for i := 0 to L.Count - 1 do
|
||||
begin
|
||||
if i > 0 then
|
||||
Append(' ');
|
||||
Visit(L[i]);
|
||||
end;
|
||||
Append(']');
|
||||
end;
|
||||
|
||||
function TPrettyPrintVisitor.VisitPipe(const N: IAstNode): TVoid;
|
||||
var
|
||||
P: IPipeNode;
|
||||
begin
|
||||
P := N.AsPipe;
|
||||
Append('(pipe ');
|
||||
// Inputs is a Tuple containing Tuples.
|
||||
// VisitTuple will automatically print [ ... ] for the outer and inner lists.
|
||||
Visit(P.Inputs);
|
||||
Indent;
|
||||
NewLine;
|
||||
|
||||
Reference in New Issue
Block a user