* Patch from Graeme Geldenhuys to implement skip attribute in linear output writers (bug ID 30741)

git-svn-id: trunk@34752 -
This commit is contained in:
michael 2016-10-22 13:37:33 +00:00
parent cfc8b0fd9e
commit e198d9bf06
2 changed files with 23 additions and 9 deletions

View File

@ -72,8 +72,8 @@ type
Procedure StartAccess; override;
Procedure StartErrors; override;
Procedure StartVersion; override;
Procedure StartSeealso; override;
Procedure EndSeealso; override;
Procedure StartSeeAlso; override;
Procedure EndSeeAlso; override;
procedure StartUnitOverview(AModuleName,AModuleLabel : String);override;
procedure WriteUnitEntry(UnitRef : TPasType); override;
Procedure EndUnitOverview; override;
@ -1068,7 +1068,7 @@ begin
WriteLn(Format(':pd. %s', [ADescr]));
end;
procedure TIPFNewWriter.StartSeealso;
procedure TIPFNewWriter.StartSeeAlso;
begin
writeln('');
writeln(':p.');
@ -1078,7 +1078,7 @@ begin
writeln('.br');
end;
procedure TIPFNewWriter.EndSeealso;
procedure TIPFNewWriter.EndSeeAlso;
begin
writeln('');
end;

View File

@ -396,10 +396,12 @@ var
Member: TPasElement;
i: Integer;
begin
DocNode := Engine.FindDocNode(ClassDecl);
if Assigned(DocNode) and DocNode.IsSkipped then
Exit;
StartSection(ClassDecl.Name);
WriteLabel(ClassDecl);
WriteIndex(ClassDecl);
DocNode := Engine.FindDocNode(ClassDecl);
if Assigned(DocNode) and ((not IsDescrNodeEmpty(DocNode.Descr)) or
(not IsDescrNodeEmpty(DocNode.ShortDescr))) then
begin
@ -482,6 +484,8 @@ begin
L:=StripText(GetLabel(Member));
N:=EscapeText(Member.Name);
DocNode := Engine.FindDocNode(Member);
if Assigned(DocNode) and DocNode.IsSkipped then
Continue;
if Assigned(DocNode) then
begin
if FDupLinkedDoc and (DocNode.Link <> '') then
@ -544,6 +548,8 @@ begin
L := StripText(GetLabel(lInterface));
N := EscapeText(lInterface.Name);
DocNode := Engine.FindDocNode(lInterface);
if Assigned(DocNode) and DocNode.IsSkipped then
Continue;
if Assigned(DocNode) then
begin
if FDupLinkedDoc and (DocNode.Link <> '') then
@ -595,7 +601,7 @@ begin
If (Engine.OutPut='') then
Engine.Output:=PackageName+FileNameExtension
else if (ExtractFileExt(Engine.output)='') and (FileNameExtension<>'') then
Engine.Output:=ChangeFileExt(Engine.output,FileNameExtension);
Engine.Output:=ChangeFileExt(Engine.output,FileNameExtension);
FStream:=TFileStream.Create(Engine.Output,fmCreate);
try
WriteBeginDocument;
@ -875,12 +881,14 @@ begin
for i := 0 to ASection.Types.Count - 1 do
begin
TypeDecl := TPasType(ASection.Types[i]);
DocNode := Engine.FindDocNode(TypeDecl);
if Assigned(DocNode) and DocNode.IsSkipped then
Continue;
if not ((TypeDecl is TPasRecordType) and TPasRecordType(TypeDecl).IsAdvancedRecord) then
begin
DescrBeginParagraph;
WriteTypeDecl(TypeDecl);
StartListing(False,'');
DocNode := Engine.FindDocNode(TypeDecl);
If Assigned(DocNode) and
Assigned(DocNode.Node) and
(Docnode.Node['opaque']='1') then
@ -953,6 +961,9 @@ var
begin
With ProcDecl do
begin
DocNode := Engine.FindDocNode(ProcDecl);
if Assigned(DocNode) and DocNode.IsSkipped then
Exit;
if Not (Assigned(Parent) and ((Parent.InheritsFrom(TPasClassType)) or Parent.InheritsFrom(TPasRecordType))) then
begin
StartSubSection(Name);
@ -966,7 +977,6 @@ begin
WriteIndex(Parent.Name+'.'+Name);
end;
StartProcedure;
DocNode := Engine.FindDocNode(ProcDecl);
if Assigned(DocNode) and Assigned(DocNode.ShortDescr) then
begin
StartSynopsis;
@ -1065,11 +1075,13 @@ var
begin
With PropDecl do
begin
DocNode := Engine.FindDocNode(PropDecl);
if Assigned(DocNode) and DocNode.IsSkipped then
Exit;
StartSubSection(Parent.Name+'.'+Name);
WriteLabel(PropDecl);
WriteIndex(Parent.Name+'.'+Name);
StartProperty;
DocNode := Engine.FindDocNode(PropDecl);
if Assigned(DocNode) then
begin
if FDupLinkedDoc and (DocNode.Link <> '') then
@ -1288,6 +1300,8 @@ begin
L:=StripText(GetLabel(Member));
N:=EscapeText(Member.Name);
DocNode := Engine.FindDocNode(Member);
if Assigned(DocNode) and DocNode.IsSkipped then
Continue;
If Assigned(DocNode) then
S:=GetDescrString(Member, DocNode.ShortDescr)
else