AST type infer SoC
This commit is contained in:
+11
-12
@@ -324,18 +324,6 @@ type
|
||||
property IsTailCall: Boolean read FIsTailCall write FIsTailCall;
|
||||
end;
|
||||
|
||||
TMacroExpansionNode = class(TFunctionCallNode, IMacroExpansionNode)
|
||||
private
|
||||
FExpandedBody: IAstNode;
|
||||
function GetExpandedBody: IAstNode;
|
||||
function GetKind: TAstNodeKind; override;
|
||||
public
|
||||
constructor Create(const AOriginalCallNode: IFunctionCallNode; const AExpandedBody: IAstNode);
|
||||
function Accept(const Visitor: IAstVisitor): TDataValue; override;
|
||||
function AsMacroExpansion: IMacroExpansionNode; override;
|
||||
property ExpandedBody: IAstNode read FExpandedBody write FExpandedBody; // Writeable
|
||||
end;
|
||||
|
||||
TRecurNode = class(TAstNode, IRecurNode)
|
||||
private
|
||||
FArguments: TArray<IAstNode>;
|
||||
@@ -348,6 +336,17 @@ type
|
||||
property Arguments: TArray<IAstNode> read FArguments write FArguments; // Writeable
|
||||
end;
|
||||
|
||||
TMacroExpansionNode = class(TFunctionCallNode, IMacroExpansionNode)
|
||||
private
|
||||
FExpandedBody: IAstNode;
|
||||
function GetExpandedBody: IAstNode;
|
||||
function GetKind: TAstNodeKind; override;
|
||||
public
|
||||
constructor Create(const AOriginalCallNode: IFunctionCallNode; const AExpandedBody: IAstNode);
|
||||
function Accept(const Visitor: IAstVisitor): TDataValue; override;
|
||||
function AsMacroExpansion: IMacroExpansionNode; override;
|
||||
property ExpandedBody: IAstNode read FExpandedBody write FExpandedBody; // Writeable
|
||||
end;
|
||||
TBlockExpressionNode = class(TAstNode, IBlockExpressionNode)
|
||||
private
|
||||
FExpressions: TArray<IAstNode>;
|
||||
|
||||
Reference in New Issue
Block a user