Skip to content

Commit a5f2c8e

Browse files
Julowjonludlam
authored andcommitted
Don't remove the doc of @inline include expansions
1 parent ef91ee8 commit a5f2c8e

File tree

10 files changed

+41
-22
lines changed

10 files changed

+41
-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
@@ -34,6 +34,11 @@ let synopsis_from_comment docs =
3434
| _ -> None)
3535
docs
3636

37+
let remove_top_doc_from_signature s =
38+
let open Signature in
39+
let items = match s.items with Comment (`Docs _) :: xs -> xs | xs -> xs in
40+
{ s with items }
41+
3742
exception Loop
3843

3944
let rec is_forward : Paths.Path.Module.t -> bool = function
@@ -417,14 +422,12 @@ and module_ : Env.t -> Module.t -> Module.t =
417422
Alias (`Resolved p, Some (simple_expansion env sg_id le))
418423
| Error _ -> Alias (`Resolved p, e)
419424
else Alias (`Resolved p, e)
420-
| Alias _ -> type_
421-
| ModuleType mty -> ModuleType mty
425+
| Alias _ | ModuleType _ -> type_
422426
in
423427
let doc, type_ =
424428
match m.doc with [] -> extract_doc type_ | _ -> (m.doc, type_)
425429
in
426-
let result = { m with doc = comment_docs env doc; type_ } in
427-
result
430+
{ m with doc = comment_docs env doc; type_ }
428431

429432
and module_decl : Env.t -> Id.Signature.t -> Module.decl -> Module.decl =
430433
fun env id decl ->
@@ -470,17 +473,15 @@ and include_ : Env.t -> Include.t -> Include.t =
470473
let is_inline_tag element = element.Location_.value = `Tag `Inline in
471474
List.exists is_inline_tag doc
472475
in
473-
{
474-
i with
475-
decl;
476-
expansion =
477-
{
478-
shadowed = i.expansion.shadowed;
479-
content = signature env i.parent i.expansion.content;
480-
};
481-
inline = should_be_inlined;
482-
doc;
483-
}
476+
let expansion =
477+
let content = signature env i.parent i.expansion.content in
478+
let content =
479+
if should_be_inlined then content
480+
else remove_top_doc_from_signature content
481+
in
482+
{ i.expansion with content }
483+
in
484+
{ i with decl; expansion; inline = should_be_inlined; doc }
484485

485486
and functor_parameter_parameter :
486487
Env.t -> FunctorParameter.parameter -> FunctorParameter.parameter =

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ <h1>
3535
<p>
3636
part 3
3737
</p>
38+
<p>
39+
Doc of <code>T</code>, part 2.
40+
</p>
3841
<div class="odoc-spec">
3942
<div class="spec type" id="type-t">
4043
<a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ <h1>
2626
<div class="odoc-include">
2727
<div class="spec include">
2828
<div class="doc">
29+
<p>
30+
Doc of <code>T</code>, part 2.
31+
</p>
2932
<div class="odoc-spec">
3033
<div class="spec type" id="type-t">
3134
<a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ <h1>
3535
<p>
3636
part 3
3737
</p>
38+
<p>
39+
Doc of <code>T</code>, part 2.
40+
</p>
3841
<div class="odoc-spec">
3942
<div class="spec type" id="type-t">
4043
<a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ <h1>
2626
<div class="odoc-include">
2727
<div class="spec include">
2828
<div class="doc">
29+
<p>
30+
Doc of <code>T</code>, part 2.
31+
</p>
2932
<div class="odoc-spec">
3033
<div class="spec type" id="type-t">
3134
<a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ <h1>
3535
<p>
3636
part 3
3737
</p>
38+
<p>
39+
Doc of <code>T</code>, part 2.
40+
</p>
3841
<div class="odoc-spec">
3942
<div class="spec type" id="type-t">
4043
<a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span>;</span></code>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ <h1>
2626
<div class="odoc-include">
2727
<div class="spec include">
2828
<div class="doc">
29+
<p>
30+
Doc of <code>T</code>, part 2.
31+
</p>
2932
<div class="odoc-spec">
3033
<div class="spec type" id="type-t">
3134
<a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span>;</span></code>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ <h1>
3535
<p>
3636
part 3
3737
</p>
38+
<p>
39+
Doc of <code>T</code>, part 2.
40+
</p>
3841
<div class="odoc-spec">
3942
<div class="spec type" id="type-t">
4043
<a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span>;</span></code>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ <h1>
2626
<div class="odoc-include">
2727
<div class="spec include">
2828
<div class="doc">
29+
<p>
30+
Doc of <code>T</code>, part 2.
31+
</p>
2932
<div class="odoc-spec">
3033
<div class="spec type" id="type-t">
3134
<a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span>;</span></code>

0 commit comments

Comments
 (0)