@@ -93,23 +93,29 @@ let rec disambiguate = function
93
93
94
94
let module_in_sig sg name =
95
95
find_in_sig sg (function
96
- | Signature. Module (id , _ , m ) when N. module_ id = name ->
96
+ | Signature. Module (id, _, m)
97
+ when ModuleName. equal_modulo_shadowing (N. typed_module id) name ->
97
98
Some (`FModule (N. typed_module id, Delayed. get m))
98
99
| _ -> None )
99
100
100
101
let module_type_in_sig sg name =
101
102
find_in_sig sg (function
102
- | Signature. ModuleType (id , mt ) when N. module_type id = name ->
103
+ | Signature. ModuleType (id, mt)
104
+ when ModuleTypeName. equal_modulo_shadowing (N. typed_module_type id) name
105
+ ->
103
106
Some (`FModuleType (N. typed_module_type id, Delayed. get mt))
104
107
| _ -> None )
105
108
106
109
let type_in_sig sg name =
107
110
find_in_sig sg (function
108
- | Signature. Type (id , _ , m ) when N. type_ id = name ->
109
- Some (`FType (N. type ' id, Delayed. get m))
110
- | Class (id , _ , c ) when N. class_ id = name ->
111
+ | Signature. Type (id, _, m)
112
+ when TypeName. equal_modulo_shadowing (N. typed_type id) name ->
113
+ Some (`FType (N. typed_type id, Delayed. get m))
114
+ | Class (id, _, c)
115
+ when TypeName. equal_modulo_shadowing (N. typed_class id) name ->
111
116
Some (`FClass (N. class ' id, c))
112
- | ClassType (id , _ , c ) when N. class_type id = name ->
117
+ | ClassType (id, _, c)
118
+ when TypeName. equal_modulo_shadowing (N. typed_class_type id) name ->
113
119
Some (`FClassType (N. class_type' id, c))
114
120
| _ -> None )
115
121
@@ -127,7 +133,8 @@ type careful_class = [ class_ | removed_type ]
127
133
128
134
let careful_module_in_sig sg name =
129
135
let removed_module = function
130
- | Signature. RModule (id , p ) when ModuleName. to_string id = name ->
136
+ | Signature. RModule (id, p) when ModuleName. equal_modulo_shadowing id name
137
+ ->
131
138
Some (`FModule_removed p)
132
139
| _ -> None
133
140
in
@@ -137,7 +144,8 @@ let careful_module_in_sig sg name =
137
144
138
145
let careful_module_type_in_sig sg name =
139
146
let removed_module_type = function
140
- | Signature. RModuleType (id , p ) when ModuleTypeName. to_string id = name ->
147
+ | Signature. RModuleType (id, p)
148
+ when ModuleTypeName. equal_modulo_shadowing id name ->
141
149
Some (`FModuleType_removed p)
142
150
| _ -> None
143
151
in
@@ -147,7 +155,7 @@ let careful_module_type_in_sig sg name =
147
155
148
156
let removed_type_in_sig sg name =
149
157
let removed_type = function
150
- | Signature. RType (id , p , eq ) when TypeName. to_string id = name ->
158
+ | Signature. RType (id , p , eq ) when id = name ->
151
159
Some (`FType_removed (id, p, eq))
152
160
| _ -> None
153
161
in
@@ -160,15 +168,18 @@ let careful_type_in_sig sg name =
160
168
161
169
let datatype_in_sig sg name =
162
170
find_in_sig sg (function
163
- | Signature. Type (id , _ , t ) when N. type_ id = name ->
171
+ | Signature. Type (id, _, t)
172
+ when TypeName. equal_modulo_shadowing (N. typed_type id) name ->
164
173
Some (`FType (N. type ' id, Component.Delayed. get t))
165
174
| _ -> None )
166
175
167
176
let class_in_sig sg name =
168
177
filter_in_sig sg (function
169
- | Signature. Class (id , _ , c ) when N. class_ id = name ->
178
+ | Signature. Class (id, _, c)
179
+ when TypeName. equal_modulo_shadowing (N. typed_class id) name ->
170
180
Some (`FClass (N. class ' id, c))
171
- | Signature. ClassType (id , _ , c ) when N. class_type id = name ->
181
+ | Signature. ClassType (id, _, c)
182
+ when TypeName. equal_modulo_shadowing (N. typed_class_type id) name ->
172
183
Some (`FClassType (N. class_type' id, c))
173
184
| _ -> None )
174
185
@@ -226,7 +237,7 @@ let any_in_comment d name =
226
237
match xs with
227
238
| elt :: rest -> (
228
239
match elt.Odoc_model.Location_. value with
229
- | `Heading lbl when Ident.Name. label lbl.Label. label = name ->
240
+ | `Heading lbl when Ident.Name. typed_label lbl.Label. label = name ->
230
241
Some (`FLabel lbl)
231
242
| _ -> inner rest)
232
243
| [] -> None
@@ -258,7 +269,7 @@ let any_in_sig sg name =
258
269
| Some r -> Some (`In_type (N. type ' id, typ, r))
259
270
| None -> None )
260
271
| TypExt typext -> any_in_typext typext name
261
- | Comment (`Docs d ) -> any_in_comment d name
272
+ | Comment (`Docs d ) -> any_in_comment d ( LabelName. make_std name)
262
273
| _ -> None )
263
274
264
275
let signature_in_sig sg name =
@@ -271,35 +282,39 @@ let signature_in_sig sg name =
271
282
272
283
let module_type_in_sig sg name =
273
284
find_in_sig sg (function
274
- | Signature. ModuleType (id , m ) when N. module_type id = name ->
285
+ | Signature. ModuleType (id, m)
286
+ when ModuleTypeName. equal_modulo_shadowing (N. typed_module_type id) name
287
+ ->
275
288
Some (`FModuleType (N. typed_module_type id, Delayed. get m))
276
289
| _ -> None )
277
290
278
291
let value_in_sig sg name =
279
- filter_in_sig sg (function
292
+ find_in_sig sg (function
280
293
| Signature. Value (id, m)
281
- when N. value id = name || N. value id = " (" ^ name ^ " )" ->
294
+ when ValueName. equal_modulo_shadowing (N. typed_value id) name
295
+ || ValueName. to_string (N. typed_value id)
296
+ = " (" ^ ValueName. to_string name ^ " )" ->
282
297
(* For operator, the value will have name [(<op>)]. We match that even
283
298
with name [<op>]. *)
284
299
Some (`FValue (N. typed_value id, Delayed. get m))
285
300
| _ -> None )
286
301
287
- let value_in_sig_unambiguous sg name = disambiguate (value_in_sig sg name)
288
-
289
302
let label_in_sig sg name =
290
303
filter_in_sig sg (function
291
304
| Signature. Comment (`Docs d ) -> any_in_comment d name
292
305
| _ -> None )
293
306
294
307
let exception_in_sig sg name =
295
308
find_in_sig sg (function
296
- | Signature. Exception (id , e ) when N. exception_ id = name ->
309
+ | Signature. Exception (id , e ) when N. typed_exception id = name ->
297
310
Some (`FExn (N. typed_exception id, e))
298
311
| _ -> None )
299
312
300
313
let extension_in_sig sg name =
301
314
let rec inner t = function
302
- | ec :: _ when ec.Extension.Constructor. name = name -> Some (`FExt (t, ec))
315
+ | ec :: _ when ec.Extension.Constructor. name = ExtensionName. to_string name
316
+ ->
317
+ Some (`FExt (t, ec))
303
318
| _ :: tl -> inner t tl
304
319
| [] -> None
305
320
in
@@ -355,13 +370,13 @@ let any_in_class_signature cs name =
355
370
356
371
let method_in_class_signature cs name =
357
372
find_in_class_signature cs (function
358
- | ClassSignature. Method (id , m ) when N. method_ id = name ->
359
- Some (`FMethod (N. typed_method id , m))
373
+ | ClassSignature. Method (id , m ) when N. typed_method id = name ->
374
+ Some (`FMethod (name , m))
360
375
| _ -> None )
361
376
362
377
let instance_variable_in_class_signature cs name =
363
378
find_in_class_signature cs (function
364
379
| ClassSignature. InstanceVariable (id, iv)
365
- when N. instance_variable id = name ->
366
- Some (`FInstance_variable (N. typed_instance_variable id , iv))
380
+ when N. typed_instance_variable id = name ->
381
+ Some (`FInstance_variable (name , iv))
367
382
| _ -> None )
0 commit comments