From cb05e1dbf4e45412fec3c5d34203073871426243 Mon Sep 17 00:00:00 2001 From: michael Date: Sat, 22 Aug 2015 13:49:25 +0000 Subject: [PATCH] * Fix working of fpdocclasstree in case of multiple files git-svn-id: trunk@31367 - --- utils/fpdoc/fpclasschart.pp | 9 +++++---- utils/fpdoc/fpdocclasstree.pp | 13 ++++--------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/utils/fpdoc/fpclasschart.pp b/utils/fpdoc/fpclasschart.pp index ffb858cd1e..0bc3a585c9 100644 --- a/utils/fpdoc/fpclasschart.pp +++ b/utils/fpdoc/fpclasschart.pp @@ -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; diff --git a/utils/fpdoc/fpdocclasstree.pp b/utils/fpdoc/fpdocclasstree.pp index 4a57e3140c..be48610225 100644 --- a/utils/fpdoc/fpdocclasstree.pp +++ b/utils/fpdoc/fpdocclasstree.pp @@ -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);