diff options
author | marco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-08-04 08:49:29 +0000 |
---|---|---|
committer | marco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-08-04 08:49:29 +0000 |
commit | 331c53929e2a9772e8ee23f678b8cfef6a47fca8 (patch) | |
tree | 0318de7711b4f564ed6833b351bbce423b2644ff /utils | |
parent | a7c15f749c7b425901b973ca719e4f628df5fb75 (diff) | |
download | fpc-331c53929e2a9772e8ee23f678b8cfef6a47fca8.tar.gz |
--- Merging r31168 into '.':
U packages/fcl-passrc/src/pparser.pp
U packages/fcl-passrc/src/pastree.pp
U packages/fcl-passrc/src/pscanner.pp
--- Recording mergeinfo for merge of r31168 into '.':
U .
--- Merging r31226 into '.':
U packages/fcl-passrc/tests/tctypeparser.pas
U packages/fcl-passrc/tests/tcprocfunc.pas
U packages/fcl-passrc/tests/testpassrc.lpi
U packages/fcl-passrc/tests/tcbaseparser.pas
G packages/fcl-passrc/src/pastree.pp
G packages/fcl-passrc/src/pparser.pp
--- Recording mergeinfo for merge of r31226 into '.':
G .
--- Merging r31228 into '.':
G packages/fcl-passrc/src/pastree.pp
--- Recording mergeinfo for merge of r31228 into '.':
G .
--- Merging r31229 into '.':
G packages/fcl-passrc/src/pparser.pp
--- Recording mergeinfo for merge of r31229 into '.':
G .
--- Merging r31230 into '.':
U utils/fpdoc/mkfpdoc.pp
--- Recording mergeinfo for merge of r31230 into '.':
G .
--- Merging r31231 into '.':
U utils/fpdoc/makeskel.pp
--- Recording mergeinfo for merge of r31231 into '.':
G .
--- Merging r31232 into '.':
U utils/fpdoc/dw_html.pp
--- Recording mergeinfo for merge of r31232 into '.':
G .
--- Merging r31233 into '.':
U utils/fpdoc/dglobals.pp
--- Recording mergeinfo for merge of r31233 into '.':
G .
--- Merging r31234 into '.':
U utils/fpdoc/testunit.pp
A utils/fpdoc/gentest.sh
U utils/fpdoc/testunit.xml
--- Recording mergeinfo for merge of r31234 into '.':
G .
# revisions: 31168,31226,31228,31229,31230,31231,31232,31233,31234
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/fixes_3_0@31269 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'utils')
-rw-r--r-- | utils/fpdoc/dglobals.pp | 4 | ||||
-rw-r--r-- | utils/fpdoc/dw_html.pp | 7 | ||||
-rw-r--r-- | utils/fpdoc/gentest.sh | 10 | ||||
-rw-r--r-- | utils/fpdoc/makeskel.pp | 31 | ||||
-rw-r--r-- | utils/fpdoc/mkfpdoc.pp | 1 | ||||
-rw-r--r-- | utils/fpdoc/testunit.pp | 19 | ||||
-rw-r--r-- | utils/fpdoc/testunit.xml | 182 |
7 files changed, 247 insertions, 7 deletions
diff --git a/utils/fpdoc/dglobals.pp b/utils/fpdoc/dglobals.pp index 912ff6f892..5884bda9f1 100644 --- a/utils/fpdoc/dglobals.pp +++ b/utils/fpdoc/dglobals.pp @@ -1514,7 +1514,11 @@ begin if AElement.InheritsFrom(TPasUnresolvedTypeRef) then Result := FindDocNode(AElement.GetModule, AElement.Name) else + begin Result := RootDocNode.FindChild(AElement.PathName); + if (Result=Nil) and (AElement is TPasoperator) then + Result:=RootDocNode.FindChild(TPasOperator(AElement).OldName(True)); + end; if (Result=Nil) and WarnNoNode and (Length(AElement.PathName)>0) and diff --git a/utils/fpdoc/dw_html.pp b/utils/fpdoc/dw_html.pp index 81b4af8639..facd7a3e3f 100644 --- a/utils/fpdoc/dw_html.pp +++ b/utils/fpdoc/dw_html.pp @@ -1855,7 +1855,10 @@ procedure THTMLWriter.AppendProcDecl(CodeEl, TableEl: TDOMElement; AppendSym(CodeEl, '.'); AppendText(CodeEl, AProc.Name); end else - AppendText(CodeEl, ' ' + AProc.FullName); + if (Element is TPasOperator) then + AppendText(CodeEl, ' ' + TPasOperator(AProc).GetOperatorDeclaration(True)) + else + AppendText(CodeEl, ' ' + AProc.FullName); CodeEl := AppendProcType(CodeEl, TableEl, AProc.ProcType, 0); AppendSym(CodeEl, ';'); AppendProcExt(CodeEl, AProc); @@ -2571,6 +2574,8 @@ begin CreateProcPageBody(TPasProcedureBase(AElement)) else if AElement.ClassType = TTopicELement then CreateTopicPageBody(TTopicElement(AElement)) + else if AElement.ClassType = TPasProperty then + CreateClassMemberPageBody(TPasProperty(AElement)) else writeln('Unknown classtype: ',AElement.classtype.classname); end; diff --git a/utils/fpdoc/gentest.sh b/utils/fpdoc/gentest.sh new file mode 100644 index 0000000000..aff9eababf --- /dev/null +++ b/utils/fpdoc/gentest.sh @@ -0,0 +1,10 @@ +if [ -e ./fpdoc ]; then + FPDOC=./fpdoc +fi +NEWERDOC=`find bin -newer ./fpdoc -type f | xargs -r ls -t | head -1` +if [ ! -z "$NEWERDOC" ]; then + FPDOC="$NEWERDOC" +fi +echo "Using fpdoc executable $FPDOC" +echo "Writing output to fpdoctest" +$FPDOC --package=fpdoc --input='-S2 testunit.pp' --output=fpdoctest --format=html --warn-no-node -v --descr=testunit.xml diff --git a/utils/fpdoc/makeskel.pp b/utils/fpdoc/makeskel.pp index d63c0c0088..d68e792115 100644 --- a/utils/fpdoc/makeskel.pp +++ b/utils/fpdoc/makeskel.pp @@ -1,5 +1,4 @@ { - FPDoc - Free Pascal Documentation Tool Copyright (C) 2000 - 2003 by Areca Systems GmbH / Sebastian Guenther, sg@freepascal.org @@ -18,9 +17,6 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. } - - -{%RunCommand $MakeExe($(EdFile)) --package=fpvectorial --input=/home/felipe/Programas/fpctrunk/packages/fpvectorial/src/fpvectorial.pas} program MakeSkel; {$mode objfpc} @@ -350,11 +346,33 @@ end; Procedure TSkelEngine.DocumentFile(Var F : Text; Const AFileName,ATarget,ACPU : String); + Procedure ResolveOperators; + + Var + E : TPasElement; + P : TNodePair; + N : TDocNode; + I : integer; + + begin + For I:=0 to FNodeList.Count-1 do + begin + P:=TNodePair(FNodeList.Objects[i]); + if P.Element.InheritsFrom(TPasOperator) then + begin + N:=FindDocNode(P.Element); + If Assigned(N) then + N.IncRefCount; + P.FNode:=N; + end; + end; + end; + Var Module : TPasModule; I : Integer; N : TDocNode; - + begin // wrong because afilename is a cmdline with other options. Straight testing filename is therefore wrong. // if not(FileExists(AFileName)) then @@ -370,7 +388,8 @@ begin N:=FindDocNode(Module); If Assigned(N) then N.IncRefCount; - end; + ResolveOperators; + end; If SortNodes then FNodelist.Sorted:=True; WriteNodes(F,Module,FNodeList); diff --git a/utils/fpdoc/mkfpdoc.pp b/utils/fpdoc/mkfpdoc.pp index 9baa262ff7..5afb6e0c2e 100644 --- a/utils/fpdoc/mkfpdoc.pp +++ b/utils/fpdoc/mkfpdoc.pp @@ -210,6 +210,7 @@ begin Engine.HideProtected:=Options.HideProtected; Engine.HidePrivate:=Not Options.ShowPrivate; Engine.OnParseUnit:=@HandleOnParseUnit; + Engine.WarnNoNode:=Options.WarnNoNode; if Length(Options.Language) > 0 then TranslateDocStrings(Options.Language); for i := 0 to APackage.Inputs.Count - 1 do diff --git a/utils/fpdoc/testunit.pp b/utils/fpdoc/testunit.pp index 58368c588b..615b8ac28a 100644 --- a/utils/fpdoc/testunit.pp +++ b/utils/fpdoc/testunit.pp @@ -45,7 +45,9 @@ Type TADeprecatedType = Integer deprecated; TMethodRecord = Record + Private + Const aconst = 123; X22 : Integer; Procedure SetX(AValue : Integer); Function GetX : Integer; @@ -56,6 +58,10 @@ Type 1 : (X2,Y2 : Integer); 2 : (phi,Omega : Real); end; + TAExtRecordType = Record + Const X = 100; + operator assign(Y : Integer) : TAExtRecordType; + end; Var ASimpleVar : Integer; @@ -138,6 +144,9 @@ Type Published Property AProtectedProp; end; + +Operator + (A,B : TAnArrayType) : TAnArrayType; +Operator multiply (A,B : TAnArrayType) : TAnArrayType; Implementation @@ -305,4 +314,14 @@ Procedure TMEthodRecord.MyMethod; begin end; +Operator + (A,B : TAnArrayType) : TAnArrayType; + +begin +end; + +Operator subtract (A,B : TAnArrayType) : TAnArrayType; + +begin +end; + end. diff --git a/utils/fpdoc/testunit.xml b/utils/fpdoc/testunit.xml index aa9ad01199..794022e81c 100644 --- a/utils/fpdoc/testunit.xml +++ b/utils/fpdoc/testunit.xml @@ -1114,6 +1114,188 @@ Appears in 2.0 </notes> </element> +<element name="add(TAnArrayType,TAnArrayType):TAnArrayType"> +<short>Something short about operator add</short> +<descr> +Something long about operator add +</descr> +</element> + +<element name="operator *(TAnArrayType, TAnArrayType): TAnArrayType"> +<short>Something short about operator -</short> +<descr> +Something long about operator - +</descr> +</element> + +<element name="TAExtRecordType.assign(Integer):TAExtRecordType"> +<short>An operator</short> +</element> + +<element name="TMethodRecord.MyX"/> + +<!-- alias type Visibility: default --> +<element name="TADeprecatedType"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- constant Visibility: default --> +<element name="TMethodRecord.aconst"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- variable Visibility: private --> +<element name="TMethodRecord.X22"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- procedure Visibility: private --> +<element name="TMethodRecord.SetX"> +<short></short> +<descr> +</descr> +<errors> +</errors> +<seealso> +</seealso> +</element> + +<!-- argument Visibility: private --> +<element name="TMethodRecord.SetX.AValue"> +<short></short> +</element> + +<!-- function Visibility: private --> +<element name="TMethodRecord.GetX"> +<short></short> +<descr> +</descr> +<errors> +</errors> +<seealso> +</seealso> +</element> + +<!-- function result Visibility: private --> +<element name="TMethodRecord.GetX.Result"> +<short></short> +</element> + +<!-- variable Visibility: default --> +<element name="TMethodRecord.X2"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- variable Visibility: default --> +<element name="TMethodRecord.Y2"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- variable Visibility: default --> +<element name="TMethodRecord.phi"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- variable Visibility: default --> +<element name="TMethodRecord.Omega"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- constant Visibility: default --> +<element name="TAExtRecordType.X"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- function result Visibility: default --> +<element name="TAExtRecordType.assign(Integer):TAExtRecordType.Result"> +<short></short> +</element> + +<!-- argument Visibility: default --> +<element name="TAExtRecordType.assign(Integer):TAExtRecordType.Y"> +<short></short> +</element> + +<!-- variable Visibility: default --> +<element name="A"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- variable Visibility: default --> +<element name="B"> +<short></short> +<descr> +</descr> +<seealso> +</seealso> +</element> + +<!-- function result Visibility: default --> +<element name="add(TAnArrayType,TAnArrayType):TAnArrayType.Result"> +<short></short> +</element> + +<!-- argument Visibility: default --> +<element name="add(TAnArrayType,TAnArrayType):TAnArrayType.A"> +<short></short> +</element> + +<!-- argument Visibility: default --> +<element name="add(TAnArrayType,TAnArrayType):TAnArrayType.B"> +<short></short> +</element> + +<!-- function result Visibility: default --> +<element name="multiply(TAnArrayType,TAnArrayType):TAnArrayType.Result"> +<short></short> +</element> + +<!-- argument Visibility: default --> +<element name="multiply(TAnArrayType,TAnArrayType):TAnArrayType.A"> +<short></short> +</element> + +<!-- argument Visibility: default --> +<element name="multiply(TAnArrayType,TAnArrayType):TAnArrayType.B"> +<short></short> +</element> + </module> <!-- testunit --> </package> |