codetools: TStandardCodeTool.UsesSectionToFilenames: dotted names

git-svn-id: trunk@32116 -
This commit is contained in:
mattias 2011-08-30 16:00:51 +00:00
parent ef465ef95f
commit 9f82460b7b

View File

@ -124,8 +124,8 @@ type
ImplementationUsesSection: TStrings): boolean; ImplementationUsesSection: TStrings): boolean;
function FindDelphiProjectUnits(var FoundInUnits, MissingInUnits, function FindDelphiProjectUnits(var FoundInUnits, MissingInUnits,
NormalUnits: TStrings; NormalUnits: TStrings;
UseContainsSection: boolean = false): boolean; // ToDo: dotted UseContainsSection: boolean = false): boolean;
function UsesSectionToFilenames(UsesNode: TCodeTreeNode): TStrings; // ToDo: dotted function UsesSectionToFilenames(UsesNode: TCodeTreeNode): TStrings;
function UsesSectionToUnitnames(UsesNode: TCodeTreeNode): TStrings; // ToDo: dotted function UsesSectionToUnitnames(UsesNode: TCodeTreeNode): TStrings; // ToDo: dotted
function FindMissingUnits(var MissingUnits: TStrings; FixCase: boolean; function FindMissingUnits(var MissingUnits: TStrings; FixCase: boolean;
SearchImplementation: boolean; SearchImplementation: boolean;
@ -1390,23 +1390,17 @@ end;
function TStandardCodeTool.UsesSectionToFilenames(UsesNode: TCodeTreeNode function TStandardCodeTool.UsesSectionToFilenames(UsesNode: TCodeTreeNode
): TStrings; ): TStrings;
var var
InAtom, UnitNameAtom: TAtomPosition;
AnUnitName, AnUnitInFilename: string; AnUnitName, AnUnitInFilename: string;
NewCode: TCodeBuffer; NewCode: TCodeBuffer;
UnitFilename: string; UnitFilename: string;
Node: TCodeTreeNode;
begin begin
Result:=TStringList.Create; Result:=TStringList.Create;
if UsesNode=nil then exit; if UsesNode=nil then exit;
MoveCursorToUsesEnd(UsesNode); Node:=UsesNode.LastChild;
repeat while Node<>nil do begin
// read prior unit name // read unit name
ReadPriorUsedUnit(UnitNameAtom, InAtom); AnUnitName:=ExtractUsedUnitName(Node,@AnUnitInFilename);
AnUnitName:=GetAtom(UnitNameAtom);
if InAtom.StartPos>0 then
AnUnitInFilename:=copy(Src,InAtom.StartPos+1,
InAtom.EndPos-InAtom.StartPos-2)
else
AnUnitInFilename:='';
// find unit file // find unit file
NewCode:=FindUnitSource(AnUnitName,AnUnitInFilename,false); NewCode:=FindUnitSource(AnUnitName,AnUnitInFilename,false);
if (NewCode=nil) then begin if (NewCode=nil) then begin
@ -1420,9 +1414,8 @@ begin
end; end;
// add filename to list // add filename to list
Result.AddObject(UnitFilename,NewCode); Result.AddObject(UnitFilename,NewCode);
// read keyword 'uses' or comma Node:=Node.PriorBrother;
ReadPriorAtom; end;
until not AtomIsChar(',');
end; end;
function TStandardCodeTool.UsesSectionToUnitnames(UsesNode: TCodeTreeNode function TStandardCodeTool.UsesSectionToUnitnames(UsesNode: TCodeTreeNode