Skip to content

Commit e80b926

Browse files
committed
Don't remove the doc of @inline include expansions
1 parent 44778b6 commit e80b926

File tree

10 files changed

+57
-22
lines changed

10 files changed

+57
-22
lines changed

src/xref2/compile.ml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,6 @@ and module_type : Env.t -> ModuleType.t -> ModuleType.t =
308308
and include_ : Env.t -> Include.t -> Include.t =
309309
fun env i ->
310310
let open Include in
311-
let remove_top_doc_from_signature s =
312-
let open Signature in
313-
let items = match s.items with Comment (`Docs _) :: xs -> xs | xs -> xs in
314-
{ s with items }
315-
in
316311
let decl = Component.Of_Lang.(include_decl empty i.decl) in
317312
let get_expansion () =
318313
match
@@ -339,8 +334,7 @@ and include_ : Env.t -> Include.t -> Include.t =
339334
in
340335
{
341336
shadowed = i.expansion.shadowed;
342-
content =
343-
remove_top_doc_from_signature (signature env i.parent expansion_sg);
337+
content = signature env i.parent expansion_sg;
344338
}
345339
in
346340
let expansion =

src/xref2/link.ml

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ module Opt = struct
1111
let map f = function Some x -> Some (f x) | None -> None
1212
end
1313

14+
let remove_top_doc_from_signature s =
15+
let open Signature in
16+
let items = match s.items with Comment (`Docs _) :: xs -> xs | xs -> xs in
17+
{ s with items }
18+
1419
exception Loop
1520

1621
let rec is_forward : Paths.Path.Module.t -> bool = function
@@ -390,14 +395,12 @@ and module_ : Env.t -> Module.t -> Module.t =
390395
Alias (`Resolved p, Some (simple_expansion env sg_id le))
391396
| Error _ -> Alias (`Resolved p, e)
392397
else Alias (`Resolved p, e)
393-
| Alias _ -> type_
394-
| ModuleType mty -> ModuleType mty
398+
| Alias _ | ModuleType _ -> type_
395399
in
396400
let doc, type_ =
397401
match m.doc with [] -> extract_doc type_ | _ -> (m.doc, type_)
398402
in
399-
let result = { m with doc = comment_docs env doc; type_ } in
400-
result
403+
{ m with doc = comment_docs env doc; type_ }
401404

402405
and module_decl : Env.t -> Id.Signature.t -> Module.decl -> Module.decl =
403406
fun env id decl ->
@@ -443,17 +446,15 @@ and include_ : Env.t -> Include.t -> Include.t =
443446
let is_inline_tag element = element.Location_.value = `Tag `Inline in
444447
List.exists is_inline_tag doc
445448
in
446-
{
447-
i with
448-
decl;
449-
expansion =
450-
{
451-
shadowed = i.expansion.shadowed;
452-
content = signature env i.parent i.expansion.content;
453-
};
454-
inline = should_be_inlined;
455-
doc;
456-
}
449+
let expansion =
450+
let content = signature env i.parent i.expansion.content in
451+
let content =
452+
if should_be_inlined then content
453+
else remove_top_doc_from_signature content
454+
in
455+
{ i.expansion with content }
456+
in
457+
{ i with decl; expansion; inline = should_be_inlined; doc }
457458

458459
and functor_parameter_parameter :
459460
Env.t -> FunctorParameter.parameter -> FunctorParameter.parameter =

test/html/expect/test_package+ml/Toplevel_comments/Include_inline'/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ <h1>
3737
<p>
3838
part 3
3939
</p>
40+
<aside>
41+
<p>
42+
Doc of <code>T</code>, part 2.
43+
</p>
44+
</aside>
4045
<div class="spec type" id="type-t">
4146
<a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code>
4247
</div>

test/html/expect/test_package+ml/Toplevel_comments/Include_inline/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ <h1>
2626
<div>
2727
<div class="spec include">
2828
<div class="doc">
29+
<aside>
30+
<p>
31+
Doc of <code>T</code>, part 2.
32+
</p>
33+
</aside>
2934
<div class="spec type" id="type-t">
3035
<a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code>
3136
</div>

test/html/expect/test_package+ml/Toplevel_comments/module-type-Include_inline_T'/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ <h1>
3737
<p>
3838
part 3
3939
</p>
40+
<aside>
41+
<p>
42+
Doc of <code>T</code>, part 2.
43+
</p>
44+
</aside>
4045
<div class="spec type" id="type-t">
4146
<a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code>
4247
</div>

test/html/expect/test_package+ml/Toplevel_comments/module-type-Include_inline_T/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ <h1>
2626
<div>
2727
<div class="spec include">
2828
<div class="doc">
29+
<aside>
30+
<p>
31+
Doc of <code>T</code>, part 2.
32+
</p>
33+
</aside>
2934
<div class="spec type" id="type-t">
3035
<a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code>
3136
</div>

test/html/expect/test_package+re/Toplevel_comments/Include_inline'/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ <h1>
3737
<p>
3838
part 3
3939
</p>
40+
<aside>
41+
<p>
42+
Doc of <code>T</code>, part 2.
43+
</p>
44+
</aside>
4045
<div class="spec type" id="type-t">
4146
<a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t;</code>
4247
</div>

test/html/expect/test_package+re/Toplevel_comments/Include_inline/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ <h1>
2626
<div>
2727
<div class="spec include">
2828
<div class="doc">
29+
<aside>
30+
<p>
31+
Doc of <code>T</code>, part 2.
32+
</p>
33+
</aside>
2934
<div class="spec type" id="type-t">
3035
<a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t;</code>
3136
</div>

test/html/expect/test_package+re/Toplevel_comments/module-type-Include_inline_T'/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ <h1>
3737
<p>
3838
part 3
3939
</p>
40+
<aside>
41+
<p>
42+
Doc of <code>T</code>, part 2.
43+
</p>
44+
</aside>
4045
<div class="spec type" id="type-t">
4146
<a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t;</code>
4247
</div>

test/html/expect/test_package+re/Toplevel_comments/module-type-Include_inline_T/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ <h1>
2626
<div>
2727
<div class="spec include">
2828
<div class="doc">
29+
<aside>
30+
<p>
31+
Doc of <code>T</code>, part 2.
32+
</p>
33+
</aside>
2934
<div class="spec type" id="type-t">
3035
<a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t;</code>
3136
</div>

0 commit comments

Comments
 (0)