@@ -332,26 +332,6 @@ let mark_class_declaration cld =
332
332
List. iter mark_type_parameter cld.cty_params;
333
333
mark_class_type cld.cty_params cld.cty_type
334
334
335
- (* Handle internal tags *)
336
-
337
- let rec find_tag f = function
338
- | [] -> None
339
- | hd :: tl -> (
340
- match f hd.Odoc_model.Location_. value with Some _ as x -> x | None -> find_tag f tl)
341
-
342
- let find_status_tag tags =
343
- match
344
- find_tag
345
- (function (`Inline | `Open | `Closed ) as t -> Some t | _ -> None )
346
- tags
347
- with
348
- | Some status -> status
349
- | None -> `Default
350
-
351
- let find_canonical_tag tags : [ `Dot of Paths.Path.Module.t * string ] option =
352
- (* Ignore [`Root _] paths *)
353
- find_tag (function `Canonical (`Dot _ as p ) -> Some p | _ -> None ) tags
354
-
355
335
let rec read_type_expr env typ =
356
336
let open TypeExpr in
357
337
let typ = Btype. repr typ in
@@ -525,7 +505,7 @@ let read_value_description env parent id vd =
525
505
let open Signature in
526
506
let id = Env. find_value_identifier env id in
527
507
let container = (parent : Identifier.Signature.t :> Identifier.LabelParent.t ) in
528
- let doc, _ = Doc_attr. attached container vd.val_attributes in
508
+ let doc, () = Doc_attr. attached Odoc_model.Semantics. Expect_none container vd.val_attributes in
529
509
mark_value_description vd;
530
510
let type_ = read_type_expr env vd.val_type in
531
511
match vd.val_kind with
@@ -546,8 +526,8 @@ let read_label_declaration env parent ld =
546
526
let open TypeDecl.Field in
547
527
let name = Ident. name ld.ld_id in
548
528
let id = `Field (parent, Odoc_model.Names.FieldName. make_std name) in
549
- let doc, _ =
550
- Doc_attr. attached
529
+ let doc, () =
530
+ Doc_attr. attached Odoc_model.Semantics. Expect_none
551
531
(parent :> Identifier.LabelParent.t ) ld.ld_attributes
552
532
in
553
533
let mutable_ = (ld.ld_mutable = Mutable ) in
@@ -573,7 +553,7 @@ let read_constructor_declaration env parent cd =
573
553
let name = Ident. name cd.cd_id in
574
554
let id = `Constructor (parent, Odoc_model.Names.ConstructorName. make_std name) in
575
555
let container = (parent : Identifier.DataType.t :> Identifier.LabelParent.t ) in
576
- let doc, _ = Doc_attr. attached container cd.cd_attributes in
556
+ let doc, () = Doc_attr. attached Odoc_model.Semantics. Expect_none container cd.cd_attributes in
577
557
let args =
578
558
read_constructor_declaration_arguments env
579
559
(parent :> Identifier.Parent.t ) cd.cd_args
@@ -634,8 +614,10 @@ let read_type_declaration env parent id decl =
634
614
let open TypeDecl in
635
615
let id = Env. find_type_identifier env id in
636
616
let container = (parent : Identifier.Signature.t :> Identifier.LabelParent.t ) in
637
- let doc, internal_tags = Doc_attr. attached container decl.type_attributes in
638
- let canonical = (find_canonical_tag internal_tags :> Path.Type.t option ) in
617
+ let doc, canonical =
618
+ Doc_attr. attached Odoc_model.Semantics. Expect_canonical container decl.type_attributes
619
+ in
620
+ let canonical = (canonical :> Path.Type.t option ) in
639
621
let params = mark_type_declaration decl in
640
622
let manifest = opt_map (read_type_expr env) decl.type_manifest in
641
623
let constraints = read_type_constraints env params in
@@ -664,7 +646,7 @@ let read_extension_constructor env parent id ext =
664
646
let name = Ident. name id in
665
647
let id = `Extension (parent, Odoc_model.Names.ExtensionName. make_std name) in
666
648
let container = (parent : Identifier.Signature.t :> Identifier.LabelParent.t ) in
667
- let doc, _ = Doc_attr. attached container ext.ext_attributes in
649
+ let doc, () = Doc_attr. attached Odoc_model.Semantics. Expect_none container ext.ext_attributes in
668
650
let args =
669
651
read_constructor_declaration_arguments env
670
652
(parent : Identifier.Signature.t :> Identifier.Parent.t ) ext.ext_args
@@ -697,7 +679,7 @@ let read_exception env parent id ext =
697
679
let name = Ident. name id in
698
680
let id = `Exception (parent, Odoc_model.Names.ExceptionName. make_std name) in
699
681
let container = (parent : Identifier.Signature.t :> Identifier.LabelParent.t ) in
700
- let doc, _ = Doc_attr. attached container ext.ext_attributes in
682
+ let doc, () = Doc_attr. attached Odoc_model.Semantics. Expect_none container ext.ext_attributes in
701
683
mark_exception ext;
702
684
let args =
703
685
read_constructor_declaration_arguments env
@@ -795,7 +777,7 @@ let read_class_type_declaration env parent id cltd =
795
777
let open ClassType in
796
778
let id = Env. find_class_type_identifier env id in
797
779
let container = (parent : Identifier.Signature.t :> Identifier.LabelParent.t ) in
798
- let doc, _ = Doc_attr. attached container cltd.clty_attributes in
780
+ let doc, () = Doc_attr. attached Odoc_model.Semantics. Expect_none container cltd.clty_attributes in
799
781
mark_class_type_declaration cltd;
800
782
let params =
801
783
List. map2
@@ -830,7 +812,7 @@ let read_class_declaration env parent id cld =
830
812
let open Class in
831
813
let id = Env. find_class_identifier env id in
832
814
let container = (parent : Identifier.Signature.t :> Identifier.LabelParent.t ) in
833
- let doc, _ = Doc_attr. attached container cld.cty_attributes in
815
+ let doc, () = Doc_attr. attached Odoc_model.Semantics. Expect_none container cld.cty_attributes in
834
816
mark_class_declaration cld;
835
817
let params =
836
818
List. map2
@@ -869,17 +851,17 @@ and read_module_type_declaration env parent id (mtd : Odoc_model.Compat.modtype_
869
851
let open ModuleType in
870
852
let id = Env. find_module_type env id in
871
853
let container = (parent : Identifier.Signature.t :> Identifier.LabelParent.t ) in
872
- let doc, internal_tags = Doc_attr. attached container mtd.mtd_attributes in
873
- let canonical = (find_canonical_tag internal_tags :> Path.ModuleType.t option ) in
854
+ let doc, canonical = Doc_attr. attached Odoc_model.Semantics. Expect_canonical container mtd.mtd_attributes in
855
+ let canonical = (canonical :> Path.ModuleType.t option ) in
874
856
let expr = opt_map (read_module_type env (id :> Identifier.Signature.t )) mtd.mtd_type in
875
857
{id; doc; canonical; expr }
876
858
877
859
and read_module_declaration env parent ident (md : Odoc_model.Compat.module_declaration ) =
878
860
let open Module in
879
861
let id = (Env. find_module_identifier env ident :> Identifier.Module.t ) in
880
862
let container = (parent : Identifier.Signature.t :> Identifier.LabelParent.t ) in
881
- let doc, internal_tags = Doc_attr. attached container md.md_attributes in
882
- let canonical = (find_canonical_tag internal_tags :> Path.Module.t option ) in
863
+ let doc, canonical = Doc_attr. attached Odoc_model.Semantics. Expect_canonical container md.md_attributes in
864
+ let canonical = (canonical :> Path.Module.t option ) in
883
865
let type_ =
884
866
match md.md_type with
885
867
| Mty_alias p -> Alias (Env.Path. read_module env p, None )
0 commit comments