Pipes and test scripts
This commit is contained in:
@@ -48,6 +48,12 @@ type
|
||||
function VisitAddSeriesItem(const Node: IAddSeriesItemNode): TDataValue; override;
|
||||
function VisitSeriesLength(const Node: ISeriesLengthNode): TDataValue; override;
|
||||
function VisitNop(const Node: INopNode): TDataValue; override;
|
||||
|
||||
// Pipe Support
|
||||
function VisitPipeInput(const Node: IPipeInputNode): TDataValue; override;
|
||||
function VisitPipeSelectorList(const Node: IPipeSelectorList): TDataValue; override;
|
||||
function VisitPipeInputList(const Node: IPipeInputList): TDataValue; override;
|
||||
function VisitPipe(const Node: IPipeNode): TDataValue; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@@ -309,4 +315,54 @@ begin
|
||||
Result := TDataValue.Void;
|
||||
end;
|
||||
|
||||
// --- Pipe Support ---
|
||||
|
||||
function TDebugEvaluatorVisitor.VisitPipe(const Node: IPipeNode): TDataValue;
|
||||
begin
|
||||
AppendLine('Pipe {');
|
||||
Indent;
|
||||
try
|
||||
Result := inherited VisitPipe(Node);
|
||||
finally
|
||||
Unindent;
|
||||
end;
|
||||
AppendLine(Format('} -> %s', [Result.ToString]));
|
||||
end;
|
||||
|
||||
function TDebugEvaluatorVisitor.VisitPipeInput(const Node: IPipeInputNode): TDataValue;
|
||||
begin
|
||||
AppendLine(Format('PipeInput (Source: %s) {', [Node.StreamSource.Name]));
|
||||
Indent;
|
||||
try
|
||||
Result := inherited VisitPipeInput(Node);
|
||||
finally
|
||||
Unindent;
|
||||
end;
|
||||
AppendLine('}');
|
||||
end;
|
||||
|
||||
function TDebugEvaluatorVisitor.VisitPipeSelectorList(const Node: IPipeSelectorList): TDataValue;
|
||||
begin
|
||||
AppendLine('Selectors [');
|
||||
Indent;
|
||||
try
|
||||
Result := inherited VisitPipeSelectorList(Node);
|
||||
finally
|
||||
Unindent;
|
||||
end;
|
||||
AppendLine(']');
|
||||
end;
|
||||
|
||||
function TDebugEvaluatorVisitor.VisitPipeInputList(const Node: IPipeInputList): TDataValue;
|
||||
begin
|
||||
AppendLine('Inputs [');
|
||||
Indent;
|
||||
try
|
||||
Result := inherited VisitPipeInputList(Node);
|
||||
finally
|
||||
Unindent;
|
||||
end;
|
||||
AppendLine(']');
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user