Skip to content

Commit 4271c9d

Browse files
committed
adjust for new attribute structure
1 parent 8886f92 commit 4271c9d

File tree

2 files changed

+36
-48
lines changed

2 files changed

+36
-48
lines changed

src/analysis/overrides.ml

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ let error_failed_to_parse_position_field_values =
88
let error_unexpected_position_expression_structure =
99
Error "unexpected position expression structure"
1010

11-
let error_unexpected_payload_field_name = Error "unexpected payload field name"
12-
1311
let error_unexpected_payload_expression_structure =
1412
Error "expected payload expression structure"
1513

@@ -22,10 +20,6 @@ module Attribute_name = struct
2220
let to_name = function
2321
| Document -> "merlin.document"
2422
| Locate -> "merlin.locate"
25-
26-
let to_field_name = function
27-
| Document -> "document"
28-
| Locate -> "locate"
2923
end
3024

3125
module Override = struct
@@ -79,7 +73,7 @@ module Override = struct
7973
None );
8074
_
8175
} );
82-
({ txt = Lident payload_field_name; _ }, payload_expression)
76+
({ txt = Lident "payload"; _ }, payload_expression)
8377
],
8478
None ) ->
8579
let open Misc_stdlib.Monad.Result.Syntax in
@@ -92,13 +86,7 @@ module Override = struct
9286
| _ -> error_failed_to_parse_position_field_values
9387
in
9488
let* payload =
95-
match
96-
String.equal
97-
(Attribute_name.to_field_name attribute_name)
98-
payload_field_name
99-
with
100-
| true -> Payload.of_expression ~attribute_name ~expr:payload_expression
101-
| false -> error_unexpected_payload_field_name
89+
Payload.of_expression ~attribute_name ~expr:payload_expression
10290
in
10391
Ok { loc = { Location.loc_start; loc_end; loc_ghost }; payload }
10492
| _ -> error_unexpected_merlin_override_attribute_structure

tests/test-dirs/overrides.t

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
> };
3131
> loc_ghost = false
3232
> };
33-
> document = "@add_one expands expressions with a '+ 1'"
33+
> payload = "@add_one expands expressions with a '+ 1'"
3434
> };
3535
> {
3636
> location =
@@ -43,7 +43,7 @@
4343
> };
4444
> loc_ghost = false
4545
> };
46-
> document = "@@@do_nothing expands into nothing"
46+
> payload = "@@@do_nothing expands into nothing"
4747
> };
4848
> {
4949
> location =
@@ -56,7 +56,7 @@
5656
> };
5757
> loc_ghost = false
5858
> };
59-
> document = "%swap swaps the first two arguments of a function call"
59+
> payload = "%swap swaps the first two arguments of a function call"
6060
> }]]
6161
> [@@@merlin.locate
6262
> [{
@@ -70,7 +70,7 @@
7070
> };
7171
> loc_ghost = false
7272
> };
73-
> locate =
73+
> payload =
7474
> {
7575
> pos_fname =
7676
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -90,7 +90,7 @@
9090
> };
9191
> loc_ghost = false
9292
> };
93-
> locate =
93+
> payload =
9494
> {
9595
> pos_fname =
9696
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -110,7 +110,7 @@
110110
> };
111111
> loc_ghost = false
112112
> };
113-
> locate =
113+
> payload =
114114
> {
115115
> pos_fname =
116116
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -135,7 +135,7 @@
135135
> };
136136
> loc_ghost = false
137137
> };
138-
> document = "@identity does not expand into anything"
138+
> payload = "@identity does not expand into anything"
139139
> }]]
140140
> [@@@merlin.locate
141141
> [{
@@ -149,7 +149,7 @@
149149
> };
150150
> loc_ghost = false
151151
> };
152-
> locate =
152+
> payload =
153153
> {
154154
> pos_fname =
155155
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -227,7 +227,7 @@ Multiple @@@merlin attributes should be merged and both usable
227227
> };
228228
> loc_ghost = false
229229
> };
230-
> document = "@add_one expands expressions with a '+ 1'"
230+
> payload = "@add_one expands expressions with a '+ 1'"
231231
> }]]
232232
> [@@@merlin.document
233233
> [{
@@ -241,7 +241,7 @@ Multiple @@@merlin attributes should be merged and both usable
241241
> };
242242
> loc_ghost = false
243243
> };
244-
> document = "%swap swaps the first two arguments of a function call"
244+
> payload = "%swap swaps the first two arguments of a function call"
245245
> }]]
246246
> [@@@merlin.locate
247247
> [{
@@ -255,7 +255,7 @@ Multiple @@@merlin attributes should be merged and both usable
255255
> };
256256
> loc_ghost = false
257257
> };
258-
> locate =
258+
> payload =
259259
> {
260260
> pos_fname =
261261
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -276,7 +276,7 @@ Multiple @@@merlin attributes should be merged and both usable
276276
> };
277277
> loc_ghost = false
278278
> };
279-
> locate =
279+
> payload =
280280
> {
281281
> pos_fname =
282282
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -318,7 +318,7 @@ Attribute location should not affect functionality.
318318
> { pos_fname = "test.ml"; pos_lnum = 31; pos_bol = 867; pos_cnum = 887 }
319319
> ; loc_ghost = false
320320
> }
321-
> ; document = "@add_one expands expressions with a '+ 1'"
321+
> ; payload = "@add_one expands expressions with a '+ 1'"
322322
> }
323323
> ]]
324324
>
@@ -330,7 +330,7 @@ Attribute location should not affect functionality.
330330
> { pos_fname = "test.ml"; pos_lnum = 31; pos_bol = 867; pos_cnum = 887 }
331331
> ; loc_ghost = false
332332
> }
333-
> ; locate =
333+
> ; payload =
334334
> { pos_fname =
335335
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml"
336336
> ; pos_lnum = 53
@@ -381,7 +381,7 @@ Attribute location should not affect functionality.
381381
> };
382382
> loc_ghost = false
383383
> };
384-
> document = "first target document override"
384+
> payload = "first target document override"
385385
> };
386386
> {
387387
> location =
@@ -394,7 +394,7 @@ Attribute location should not affect functionality.
394394
> };
395395
> loc_ghost = false
396396
> };
397-
> document = "second target document override"
397+
> payload = "second target document override"
398398
> }]]
399399
> [@@@merlin.locate
400400
> [{
@@ -408,7 +408,7 @@ Attribute location should not affect functionality.
408408
> };
409409
> loc_ghost = false
410410
> };
411-
> locate =
411+
> payload =
412412
> {
413413
> pos_fname =
414414
> "first target locate override";
@@ -428,7 +428,7 @@ Attribute location should not affect functionality.
428428
> };
429429
> loc_ghost = false
430430
> };
431-
> locate =
431+
> payload =
432432
> {
433433
> pos_fname =
434434
> "second target locate override";
@@ -466,7 +466,7 @@ Override nested PPXs
466466
> };
467467
> loc_ghost = false
468468
> };
469-
> document = "inner %swap PPX"
469+
> payload = "inner %swap PPX"
470470
> };
471471
> {
472472
> location =
@@ -479,7 +479,7 @@ Override nested PPXs
479479
> };
480480
> loc_ghost = false
481481
> };
482-
> document = "outer %swap PPX"
482+
> payload = "outer %swap PPX"
483483
> }]]
484484
> [@@@merlin.locate
485485
> [{
@@ -493,7 +493,7 @@ Override nested PPXs
493493
> };
494494
> loc_ghost = false
495495
> };
496-
> locate =
496+
> payload =
497497
> {
498498
> pos_fname =
499499
> "inner-%swap-PPX.ml";
@@ -513,7 +513,7 @@ Override nested PPXs
513513
> };
514514
> loc_ghost = false
515515
> };
516-
> locate =
516+
> payload =
517517
> {
518518
> pos_fname =
519519
> "outer-%swap-PPX.ml";
@@ -558,7 +558,7 @@ Override nested PPXs
558558
> };
559559
> loc_ghost = false
560560
> };
561-
> document = "%swap swaps the first two arguments of a function call"
561+
> payload = "%swap swaps the first two arguments of a function call"
562562
> };
563563
> {
564564
> location =
@@ -569,7 +569,7 @@ Override nested PPXs
569569
> { pos_fname = "test.ml"; pos_lnum = 1; pos_bol = 0; pos_cnum = 16 };
570570
> loc_ghost = false
571571
> };
572-
> document = "f can be a %swap-specific argument"
572+
> payload = "f can be a %swap-specific argument"
573573
> }]]
574574
> [@@@merlin.locate
575575
> [{
@@ -583,7 +583,7 @@ Override nested PPXs
583583
> };
584584
> loc_ghost = false
585585
> };
586-
> locate =
586+
> payload =
587587
> {
588588
> pos_fname =
589589
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -601,7 +601,7 @@ Override nested PPXs
601601
> { pos_fname = "test.ml"; pos_lnum = 1; pos_bol = 0; pos_cnum = 16 };
602602
> loc_ghost = false
603603
> };
604-
> locate =
604+
> payload =
605605
> {
606606
> pos_fname =
607607
> "external/some_file_for_f.ml";
@@ -647,7 +647,7 @@ Override a floating attribute
647647
> };
648648
> loc_ghost = false
649649
> };
650-
> document = "@@@do_nothing expands into nothing"
650+
> payload = "@@@do_nothing expands into nothing"
651651
> }]]
652652
> [@@@merlin.locate
653653
> [{
@@ -660,7 +660,7 @@ Override a floating attribute
660660
> };
661661
> loc_ghost = false
662662
> };
663-
> locate =
663+
> payload =
664664
> {
665665
> pos_fname =
666666
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -697,7 +697,7 @@ Override an attribute in a extension's payload
697697
> };
698698
> loc_ghost = false
699699
> };
700-
> document = "@add_one expands expressions with a '+ 1'"
700+
> payload = "@add_one expands expressions with a '+ 1'"
701701
> };
702702
> {
703703
> location =
@@ -708,7 +708,7 @@ Override an attribute in a extension's payload
708708
> { pos_fname = "test.ml"; pos_lnum = 1; pos_bol = 0; pos_cnum = 14 };
709709
> loc_ghost = false
710710
> };
711-
> document = "%swap swaps the first two arguments of a function call"
711+
> payload = "%swap swaps the first two arguments of a function call"
712712
> }]]
713713
> [@@@merlin.locate
714714
> [{
@@ -722,7 +722,7 @@ Override an attribute in a extension's payload
722722
> };
723723
> loc_ghost = false
724724
> };
725-
> locate =
725+
> payload =
726726
> {
727727
> pos_fname =
728728
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -740,7 +740,7 @@ Override an attribute in a extension's payload
740740
> { pos_fname = "test.ml"; pos_lnum = 1; pos_bol = 0; pos_cnum = 14 };
741741
> loc_ghost = false
742742
> };
743-
> locate =
743+
> payload =
744744
> {
745745
> pos_fname =
746746
> "external/ppxlib/test/overrides/ppx/ppxlib_ppx_for_testing_merlin_overrides.ml";
@@ -791,7 +791,7 @@ Existing behavior of non-overridden locations should not be affected. Also, over
791791
> };
792792
> loc_ghost = false
793793
> };
794-
> document = "overridden documentation on [x]"
794+
> payload = "overridden documentation on [x]"
795795
> }]]
796796
> [@@@merlin.locate
797797
> [{
@@ -805,7 +805,7 @@ Existing behavior of non-overridden locations should not be affected. Also, over
805805
> };
806806
> loc_ghost = false
807807
> };
808-
> locate =
808+
> payload =
809809
> {
810810
> pos_fname =
811811
> "overridden-location-of-x.ml";

0 commit comments

Comments
 (0)