Skip to content

Commit c2228c0

Browse files
committed
invert type and datatype in Component
To match the semantics of references Signed-off-by: Paul-Elliot <peada@free.fr>
1 parent 725d900 commit c2228c0

File tree

6 files changed

+21
-20
lines changed

6 files changed

+21
-20
lines changed

src/xref2/component.ml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ module Element = struct
496496

497497
type module_type = [ `ModuleType of Identifier.ModuleType.t * ModuleType.t ]
498498

499-
type type_ = [ `Type of Identifier.Type.t * TypeDecl.t ]
499+
type datatype = [ `Type of Identifier.Type.t * TypeDecl.t ]
500500

501501
type value = [ `Value of Identifier.Value.t * Value.t ]
502502

@@ -506,7 +506,7 @@ module Element = struct
506506

507507
type class_type = [ `ClassType of Identifier.ClassType.t * ClassType.t ]
508508

509-
type datatype = [ type_ | class_ | class_type ]
509+
type type_ = [ datatype | class_ | class_type ]
510510

511511
type signature = [ module_ | module_type ]
512512

@@ -527,12 +527,12 @@ module Element = struct
527527
(* No component for pages yet *)
528528
type page = [ `Page of Identifier.Page.t * Odoc_model.Lang.Page.t ]
529529

530-
type label_parent = [ signature | datatype | page ]
530+
type label_parent = [ signature | type_ | page ]
531531

532532
type any =
533533
[ signature
534534
| value
535-
| type_
535+
| datatype
536536
| label
537537
| class_
538538
| class_type

src/xref2/component.mli

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ module Element : sig
460460

461461
type module_type = [ `ModuleType of Identifier.ModuleType.t * ModuleType.t ]
462462

463-
type type_ = [ `Type of Identifier.Type.t * TypeDecl.t ]
463+
type datatype = [ `Type of Identifier.Type.t * TypeDecl.t ]
464464

465465
type value = [ `Value of Identifier.Value.t * Value.t ]
466466

@@ -470,7 +470,7 @@ module Element : sig
470470

471471
type class_type = [ `ClassType of Identifier.ClassType.t * ClassType.t ]
472472

473-
type datatype = [ type_ | class_ | class_type ]
473+
type type_ = [ datatype | class_ | class_type ]
474474

475475
type signature = [ module_ | module_type ]
476476

@@ -491,12 +491,12 @@ module Element : sig
491491
(* No component for pages yet *)
492492
type page = [ `Page of Identifier.Page.t * Odoc_model.Lang.Page.t ]
493493

494-
type label_parent = [ signature | datatype | page ]
494+
type label_parent = [ signature | type_ | page ]
495495

496496
type any =
497497
[ signature
498498
| value
499-
| type_
499+
| datatype
500500
| label
501501
| class_
502502
| class_type

src/xref2/env.ml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -543,12 +543,12 @@ let s_module_type : Component.Element.module_type scope =
543543
| #Component.Element.module_type as r -> Some r
544544
| _ -> None)
545545

546-
let s_datatype : Component.Element.datatype scope =
547-
make_scope (function #Component.Element.datatype as r -> Some r | _ -> None)
548-
549546
let s_type : Component.Element.type_ scope =
550547
make_scope (function #Component.Element.type_ as r -> Some r | _ -> None)
551548

549+
let s_datatype : Component.Element.datatype scope =
550+
make_scope (function #Component.Element.datatype as r -> Some r | _ -> None)
551+
552552
let s_class : Component.Element.class_ scope =
553553
make_scope (function #Component.Element.class_ as r -> Some r | _ -> None)
554554

src/xref2/env.mli

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,10 @@ val s_module : Component.Element.module_ scope
122122

123123
val s_module_type : Component.Element.module_type scope
124124

125-
val s_datatype : Component.Element.datatype scope
126-
127125
val s_type : Component.Element.type_ scope
128126

127+
val s_datatype : Component.Element.datatype scope
128+
129129
val s_class : Component.Element.class_ scope
130130

131131
val s_class_type : Component.Element.class_type scope

src/xref2/ref_tools.ml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,8 +292,7 @@ module T = struct
292292
| `ClassType _ as e -> `CT (CT.of_element env e)
293293

294294
let in_env env name =
295-
env_lookup_by_name Env.s_datatype name env >>= fun e ->
296-
Ok (of_element env e)
295+
env_lookup_by_name Env.s_type name env >>= fun e -> Ok (of_element env e)
297296

298297
(* Don't handle name collisions between class, class types and type decls *)
299298
let in_signature _env ((parent', parent_cp, sg) : signature_lookup_result)

src/xref2/tools.ml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ let c_ty_poss env p =
5252
match p with
5353
| `Dot (p, n) -> (
5454
let rest = List.map (fun p -> `Dot (p, n)) (c_mod_poss env p) in
55-
match Env.lookup_by_name Env.s_type n env with
55+
match Env.lookup_by_name Env.s_datatype n env with
5656
| Ok (`Type (id, _)) ->
5757
`Identifier ((id :> Odoc_model.Paths.Identifier.Path.Type.t), false)
5858
:: rest
@@ -64,7 +64,7 @@ let c_daty_poss env p =
6464
match p with
6565
| `Dot (p, n) -> (
6666
let rest = List.map (fun p -> `Dot (p, n)) (c_mod_poss env p) in
67-
match Env.lookup_by_name Env.s_type n env with
67+
match Env.lookup_by_name Env.s_datatype n env with
6868
| Ok (`Type (id, _)) ->
6969
`Identifier
7070
((id :> Odoc_model.Paths.Identifier.Path.DataType.t), false)
@@ -436,7 +436,7 @@ let simplify_type : Env.t -> Cpath.Resolved.type_ -> Cpath.Resolved.type_ =
436436
match m with
437437
| `Type (`Module (`Gpath (`Identifier p)), name) -> (
438438
let ident = (Mk.type_ ((p :> Signature.t), name) : Path.Type.t) in
439-
match Env.(lookup_by_id s_type (ident :> Path.Type.t) env) with
439+
match Env.(lookup_by_id s_datatype (ident :> Path.Type.t) env) with
440440
| Some _ -> `Gpath (`Identifier ident)
441441
| None -> m)
442442
| _ -> m
@@ -858,7 +858,8 @@ and lookup_type_gpath :
858858
next clause. We just look them up here in the list of core types *)
859859
Ok (`FType (name, List.assoc (TypeName.to_string name) core_types))
860860
| `Identifier ({ iv = `Type _; _ } as i) ->
861-
of_option ~error:(`Lookup_failureT i) (Env.(lookup_by_id s_type) i env)
861+
of_option ~error:(`Lookup_failureT i)
862+
(Env.(lookup_by_id s_datatype) i env)
862863
>>= fun (`Type ({ iv = `CoreType name | `Type (_, name); _ }, t)) ->
863864
Ok (`FType (name, t))
864865
| `Identifier ({ iv = `Class _; _ } as i) ->
@@ -899,7 +900,8 @@ and lookup_datatype_gpath :
899900
next clause. We just look them up here in the list of core types *)
900901
Ok (`FType (name, List.assoc (TypeName.to_string name) core_types))
901902
| `Identifier ({ iv = `Type _; _ } as i) ->
902-
of_option ~error:(`Lookup_failureT i) (Env.(lookup_by_id s_type) i env)
903+
of_option ~error:(`Lookup_failureT i)
904+
(Env.(lookup_by_id s_datatype) i env)
903905
>>= fun (`Type ({ iv = `CoreType name | `Type (_, name); _ }, t)) ->
904906
Ok (`FType (name, t))
905907
| `CanonicalDataType (t1, _) -> lookup_datatype_gpath env t1

0 commit comments

Comments
 (0)