mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-02 10:49:33 +01:00
* Fix working of fpdocclasstree in case of multiple files
git-svn-id: trunk@31367 -
This commit is contained in:
parent
5227a35d05
commit
cb05e1dbf4
@ -520,28 +520,29 @@ Var
|
||||
|
||||
begin
|
||||
Result:='';
|
||||
ACount:=0;
|
||||
XML:=TXMLDocument.Create;
|
||||
Try
|
||||
//XML.
|
||||
XML.AppendChild(XML.CreateElement(ObjKindNames[AObjectKind]));
|
||||
XML.AppendChild(XML.CreateElement('TObject'));
|
||||
For I:=0 to MergeFiles.Count-1 do
|
||||
begin
|
||||
XMl2:=TXMLDocument.Create;
|
||||
ReadXMLFile(XML2,MergeFiles[i]);
|
||||
try
|
||||
ACount:=MergeTrees(XML,XML2);
|
||||
ACount:=ACount+MergeTrees(XML,XML2);
|
||||
WriteLn(StdErr,Format(SMergedFile,[ACount,MergeFiles[i]]));
|
||||
Finally
|
||||
FreeAndNil(XML2);
|
||||
end;
|
||||
end;
|
||||
ACount:=0;
|
||||
For I:=0 to InputFiles.Count-1 do
|
||||
begin
|
||||
Engine := TClassTreeEngine.Create(XML,AObjectKind);
|
||||
Try
|
||||
ParseSource(Engine,InputFiles[I],OSTarget,CPUTarget);
|
||||
ACount:=ACount+Engine.Ftree.BuildTree(Engine.FObjects);
|
||||
Engine.Ftree.BuildTree(Engine.FObjects);
|
||||
ACount:=ACount+MergeTrees(XML,Engine.FTree.ClassTree);
|
||||
Finally
|
||||
FreeAndNil(Engine);
|
||||
end;
|
||||
|
||||
@ -81,7 +81,7 @@ begin
|
||||
S:=N.NodeName;
|
||||
if NoPath then
|
||||
Begin
|
||||
Result:= (CompareText(S,AElement.Name)=0);
|
||||
Result:=(CompareText(S,AElement.Name)=0);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -131,10 +131,11 @@ Var
|
||||
N : TDomNode;
|
||||
|
||||
begin
|
||||
//Writeln('Enter TClassTreeBuilder.AddToClassTree');
|
||||
|
||||
// Writeln('Enter TClassTreeBuilder.AddToClassTree');
|
||||
//if Assigned(AElement) then
|
||||
//Writeln('Addtoclasstree : ',aElement.Name);
|
||||
Result:=Nil; N:=Nil;PE:=NIL;
|
||||
Result:=Nil; M:=Nil; N:=Nil;PE:=NIL;PC:=Nil;
|
||||
If (AElement=Nil) then
|
||||
begin
|
||||
Result:=FTreeStart;
|
||||
@ -144,9 +145,7 @@ begin
|
||||
begin
|
||||
N:=LookForElement(FTreeStart,AElement,True);
|
||||
If (N=Nil) then
|
||||
begin
|
||||
PE:=FTreeStart;
|
||||
end
|
||||
end
|
||||
else If (AElement is TPasClassType) then
|
||||
begin
|
||||
@ -163,8 +162,6 @@ begin
|
||||
end;
|
||||
If (N<>Nil) then
|
||||
begin
|
||||
// if Assigned(PC) then
|
||||
// Writeln(PC.Name,' already in tree');
|
||||
Result:=N as TDomElement
|
||||
end
|
||||
else
|
||||
@ -179,10 +176,8 @@ begin
|
||||
end;
|
||||
if PE=Nil then
|
||||
begin
|
||||
//Writeln('PE = nil detected for ',AElement.PathName);
|
||||
PE:=FTreeStart
|
||||
end;
|
||||
//Writeln('Appending to ',PE.NodeName);
|
||||
// if not assigned, probably needs to be assigned to something else.
|
||||
if assigned(PE) then
|
||||
PE.AppendChild(Result);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user