Keywords
This commit is contained in:
@@ -319,7 +319,7 @@ end;
|
||||
function TAstTransformer.VisitMemberAccess(const Node: IMemberAccessNode): TDataValue;
|
||||
begin
|
||||
var base := Accept(Node.Base).AsIntf<IAstNode>;
|
||||
var member := Node.Member;
|
||||
var member := Accept(Node.Member).AsIntf<IKeywordNode>;
|
||||
if (base = Node.Base) and (member = Node.Member) then
|
||||
Result := TDataValue.FromIntf<IMemberAccessNode>(Node)
|
||||
else
|
||||
@@ -331,6 +331,7 @@ var
|
||||
i: Integer;
|
||||
hasChanged: Boolean;
|
||||
newFields: TArray<TRecordFieldLiteral>;
|
||||
newKey: IKeywordNode;
|
||||
newValue: IAstNode;
|
||||
begin
|
||||
hasChanged := False;
|
||||
@@ -338,10 +339,13 @@ begin
|
||||
|
||||
for i := 0 to High(Node.Fields) do
|
||||
begin
|
||||
newKey := Accept(Node.Fields[i].Key).AsIntf<IKeywordNode>;
|
||||
newValue := Accept(Node.Fields[i].Value).AsIntf<IAstNode>;
|
||||
if newValue <> Node.Fields[i].Value then
|
||||
|
||||
if (newKey <> Node.Fields[i].Key) or (newValue <> Node.Fields[i].Value) then
|
||||
hasChanged := True;
|
||||
newFields[i] := TRecordFieldLiteral.Create(Node.Fields[i].Name, newValue);
|
||||
|
||||
newFields[i] := TRecordFieldLiteral.Create(newKey, newValue);
|
||||
end;
|
||||
|
||||
if hasChanged then
|
||||
|
||||
Reference in New Issue
Block a user