Skip to content

Commit febca67

Browse files
committed
Support of protected entry family body by documentation extractor.
1 parent 009c814 commit febca67

File tree

4 files changed

+341
-31
lines changed

4 files changed

+341
-31
lines changed

source/gnatdoc-comments-builders-subprograms.adb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ package body GNATdoc.Comments.Builders.Subprograms is
3131
Node : Libadalang.Analysis.Basic_Decl'Class;
3232
Spec_Node : Libadalang.Analysis.Base_Subp_Spec'Class;
3333
Name_Node : Libadalang.Analysis.Defining_Name'Class;
34+
Family_Node : Libadalang.Analysis.Entry_Index_Spec'Class;
3435
Params_Node : Libadalang.Analysis.Params'Class;
3536
Returns_Node : Libadalang.Analysis.Type_Expr'Class;
3637
Last_Section : out GNATdoc.Comments.Section_Access;
@@ -57,6 +58,13 @@ package body GNATdoc.Comments.Builders.Subprograms is
5758
end if;
5859
end if;
5960

61+
-- Create section of the structured comment for family index.
62+
63+
if not Family_Node.Is_Null then
64+
Self.Process_Component_Declaration (Family_Node);
65+
Self.Process_Defining_Name (Parameter, Family_Node.F_Id);
66+
end if;
67+
6068
-- Create sections of structured comment for parameters, compute
6169
-- line range to extract comments of each parameter.
6270

source/gnatdoc-comments-builders-subprograms.ads

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@ package GNATdoc.Comments.Builders.Subprograms is
3232
Node : Libadalang.Analysis.Basic_Decl'Class;
3333
Spec_Node : Libadalang.Analysis.Base_Subp_Spec'Class;
3434
Name_Node : Libadalang.Analysis.Defining_Name'Class;
35+
Family_Node : Libadalang.Analysis.Entry_Index_Spec'Class;
3536
Params_Node : Libadalang.Analysis.Params'Class;
3637
Returns_Node : Libadalang.Analysis.Type_Expr'Class;
3738
Last_Section : out GNATdoc.Comments.Section_Access;
3839
Minimum_Indent : out Langkit_Support.Slocs.Column_Number)
3940
with Pre =>
40-
Spec_Node.Kind in Libadalang.Common.Ada_Entry_Spec
41-
| Libadalang.Common.Ada_Subp_Spec;
41+
Spec_Node.Is_Null -- entry body doesn't have specification node
42+
or else Spec_Node.Kind in Libadalang.Common.Ada_Entry_Spec
43+
| Libadalang.Common.Ada_Subp_Spec;
4244

4345
private
4446

0 commit comments

Comments
 (0)