Ast list nodes
This commit is contained in:
@@ -31,6 +31,14 @@ type
|
||||
function VisitConstant(const Node: IConstantNode): TAstViewNode; override;
|
||||
function VisitIdentifier(const Node: IIdentifierNode): TAstViewNode; override;
|
||||
function VisitKeyword(const Node: IKeywordNode): TAstViewNode; override;
|
||||
|
||||
// --- List Visitors (NEW) ---
|
||||
function VisitParameterList(const Node: IParameterList): TAstViewNode; override;
|
||||
function VisitArgumentList(const Node: IArgumentList): TAstViewNode; override;
|
||||
function VisitExpressionList(const Node: IExpressionList): TAstViewNode; override;
|
||||
function VisitRecordFieldList(const Node: IRecordFieldList): TAstViewNode; override;
|
||||
function VisitRecordField(const Node: IRecordFieldNode): TAstViewNode; override;
|
||||
|
||||
function VisitIfExpression(const Node: IIfExpressionNode): TAstViewNode; override;
|
||||
function VisitTernaryExpression(const Node: ITernaryExpressionNode): TAstViewNode; override;
|
||||
function VisitLambdaExpression(const Node: ILambdaExpressionNode): TAstViewNode; override;
|
||||
@@ -146,6 +154,35 @@ begin
|
||||
Result := TAstViewNode.Create(Self, TKeywordNodeHandler.Create(Node));
|
||||
end;
|
||||
|
||||
// --- List Visitors ---
|
||||
|
||||
function TAstVisualizer.VisitParameterList(const Node: IParameterList): TAstViewNode;
|
||||
begin
|
||||
Result := TAstViewNode.Create(Self, TParameterListHandler.Create(Node));
|
||||
end;
|
||||
|
||||
function TAstVisualizer.VisitArgumentList(const Node: IArgumentList): TAstViewNode;
|
||||
begin
|
||||
Result := TAstViewNode.Create(Self, TArgumentListHandler.Create(Node));
|
||||
end;
|
||||
|
||||
function TAstVisualizer.VisitExpressionList(const Node: IExpressionList): TAstViewNode;
|
||||
begin
|
||||
Result := TAstViewNode.Create(Self, TExpressionListHandler.Create(Node));
|
||||
end;
|
||||
|
||||
function TAstVisualizer.VisitRecordFieldList(const Node: IRecordFieldList): TAstViewNode;
|
||||
begin
|
||||
Result := TAstViewNode.Create(Self, TRecordFieldListHandler.Create(Node));
|
||||
end;
|
||||
|
||||
function TAstVisualizer.VisitRecordField(const Node: IRecordFieldNode): TAstViewNode;
|
||||
begin
|
||||
Result := TAstViewNode.Create(Self, TRecordFieldHandler.Create(Node));
|
||||
end;
|
||||
|
||||
// --- Node Visitors ---
|
||||
|
||||
function TAstVisualizer.VisitBlockExpression(const Node: IBlockExpressionNode): TAstViewNode;
|
||||
begin
|
||||
Result := TAstViewNode.Create(Self, TBlockExpressionNodeHandler.Create(Node));
|
||||
|
||||
Reference in New Issue
Block a user