From 1d27d089935c544459a1acb8bcc86eebc01da294 Mon Sep 17 00:00:00 2001 From: juha Date: Fri, 26 Mar 2010 14:34:33 +0000 Subject: [PATCH] Use the new parameter signature for RetypeClassVariables. git-svn-id: trunk@24224 - --- converter/convcodetool.pas | 6 ++--- converter/missingpropertiesdlg.pas | 37 ++++++++++++------------------ 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/converter/convcodetool.pas b/converter/convcodetool.pas index c302961a77..3ef57ad4b9 100644 --- a/converter/convcodetool.pas +++ b/converter/convcodetool.pas @@ -44,7 +44,7 @@ type // List of units to be commented. fUnitsToComment: TStringList; // Map of class member object types to be renamed in ReplaceMemberTypes. - fMemberTypesToRename: TStringList; // TStringToStringTree; + fMemberTypesToRename: TStringToStringTree; function AddDelphiAndLCLSections: boolean; function AddModeDelphiDirective: boolean; function RenameResourceDirectives: boolean; @@ -68,8 +68,8 @@ type property UnitsToRename: TStringToStringTree read fUnitsToRename write fUnitsToRename; property UnitsToAdd: TStringList read fUnitsToAdd write fUnitsToAdd; property UnitsToComment: TStringList read fUnitsToComment write fUnitsToComment; - property MemberTypesToRename: TStringList read fMemberTypesToRename - write fMemberTypesToRename; + property MemberTypesToRename: TStringToStringTree read fMemberTypesToRename + write fMemberTypesToRename; end; implementation diff --git a/converter/missingpropertiesdlg.pas b/converter/missingpropertiesdlg.pas index e08254982f..1894fcef49 100644 --- a/converter/missingpropertiesdlg.pas +++ b/converter/missingpropertiesdlg.pas @@ -122,8 +122,7 @@ var TheNode: TLFMTreeNode; ObjNode: TLFMObjectNode; // Property name --> replacement name. - PropNameRepl: TStringToStringTree; - MemberTypes: TStringList; + NameReplacements: TStringToStringTree; // List of TLFMChangeEntry objects. ChgEntryRepl: TObjectList; OldIdent, NewIdent: string; @@ -132,15 +131,14 @@ var begin Result:=mrNone; ChgEntryRepl:=TObjectList.Create; - PropNameRepl:=TStringToStringTree.Create(false); - MemberTypes:=TStringList.Create; + NameReplacements:=TStringToStringTree.Create(false); try - // Collect (maybe edited) properties from StringGrid to PropNameRepl. + // Collect (maybe edited) properties from StringGrid to NameReplacements. for i:=1 to fPropReplaceGrid.RowCount-1 do begin // Skip the fixed row. OldIdent:=fPropReplaceGrid.Cells[0,i]; NewIdent:=fPropReplaceGrid.Cells[1,i]; if NewIdent<>'' then - PropNameRepl[OldIdent]:=NewIdent; + NameReplacements[OldIdent]:=NewIdent; end; // Replace each missing property / type or delete it if no replacement. CurError:=fLFMTree.LastError; @@ -153,19 +151,17 @@ begin OldIdent:=ObjNode.TypeName; StartPos:=ObjNode.TypeNamePosition; EndPos:=StartPos+Length(OldIdent); - NewIdent:=PropNameRepl[OldIdent]; + NewIdent:=NameReplacements[OldIdent]; // Keep the old class name if no replacement. - if NewIdent<>'' then begin + if NewIdent<>'' then AddReplacement(ChgEntryRepl,StartPos,EndPos,NewIdent); - MemberTypes.Values[OldIdent]:=NewIdent; - end; end else begin // Property TheNode.FindIdentifier(StartPos,EndPos); if StartPos>0 then begin OldIdent:=copy(fLFMBuffer.Source,StartPos,EndPos-StartPos); - NewIdent:=PropNameRepl[OldIdent]; + NewIdent:=NameReplacements[OldIdent]; // Delete the whole property line if no replacement. if NewIdent='' then FindNiceNodeBounds(TheNode,StartPos,EndPos); @@ -177,21 +173,18 @@ begin end; // Apply replacements to LFM. if ApplyReplacements(ChgEntryRepl) then begin - if MemberTypes.Count>0 then begin - // Replace the object member types also to pascal source. - ConvTool:=TConvDelphiCodeTool.Create(fPascalBuffer); - try - ConvTool.MemberTypesToRename:=MemberTypes; - ConvTool.ReplaceMemberTypes(TLFMObjectNode(fLFMTree.Root).TypeName); - finally - ConvTool.Free; - end; + // Replace the object member types also to pascal source. + ConvTool:=TConvDelphiCodeTool.Create(fPascalBuffer); + try + ConvTool.MemberTypesToRename:=NameReplacements; + ConvTool.ReplaceMemberTypes(TLFMObjectNode(fLFMTree.Root).TypeName); + finally + ConvTool.Free; end; Result:=mrOk; end; finally - MemberTypes.Free; - PropNameRepl.Free; + NameReplacements.Free; ChgEntryRepl.Free; end; end;