1st full macro expander
This commit is contained in:
+6
-16
@@ -211,13 +211,12 @@ type
|
||||
|
||||
TBlockExpressionNode = class(TAstNode, IBlockExpressionNode)
|
||||
private
|
||||
FExpressions: TList<IAstNode>;
|
||||
function GetExpressions: TList<IAstNode>;
|
||||
FExpressions: TArray<IAstNode>;
|
||||
function GetExpressions: TArray<IAstNode>;
|
||||
public
|
||||
constructor Create(const AExpressions: array of IAstNode);
|
||||
destructor Destroy; override;
|
||||
function Accept(const Visitor: IAstVisitor): TDataValue; override;
|
||||
property Expressions: TList<IAstNode> read FExpressions;
|
||||
property Expressions: TArray<IAstNode> read FExpressions;
|
||||
end;
|
||||
|
||||
TVariableDeclarationNode = class(TAstNode, IVariableDeclarationNode)
|
||||
@@ -605,19 +604,10 @@ end;
|
||||
{ TBlockExpressionNode }
|
||||
|
||||
constructor TBlockExpressionNode.Create(const AExpressions: array of IAstNode);
|
||||
var
|
||||
expr: IAstNode;
|
||||
begin
|
||||
inherited Create;
|
||||
FExpressions := TList<IAstNode>.Create;
|
||||
for expr in AExpressions do
|
||||
FExpressions.Add(expr);
|
||||
end;
|
||||
|
||||
destructor TBlockExpressionNode.Destroy;
|
||||
begin
|
||||
FExpressions.Free;
|
||||
inherited;
|
||||
SetLength(FExpressions, Length(AExpressions));
|
||||
TArray.Copy<IAstNode>(AExpressions, FExpressions, 0, 0, Length(AExpressions));
|
||||
end;
|
||||
|
||||
function TBlockExpressionNode.Accept(const Visitor: IAstVisitor): TDataValue;
|
||||
@@ -625,7 +615,7 @@ begin
|
||||
Result := Visitor.VisitBlockExpression(Self);
|
||||
end;
|
||||
|
||||
function TBlockExpressionNode.GetExpressions: TList<IAstNode>;
|
||||
function TBlockExpressionNode.GetExpressions: TArray<IAstNode>;
|
||||
begin
|
||||
Result := FExpressions;
|
||||
end;
|
||||
|
||||
Reference in New Issue
Block a user