@@ -58,25 +58,29 @@ module Request = struct
58
58
src : string ;
59
59
instance_printer : printer_details option ;
60
60
hints : Hints .t option ;
61
+ reflect : bool ;
61
62
}
62
63
63
64
type verify_req_name = {
64
65
name : string ;
65
66
instance_printer : printer_details option ;
66
67
hints : Hints .t option ;
68
+ reflect : bool ;
67
69
}
68
70
69
71
type instance_req_src = {
70
72
syntax : src_syntax ;
71
73
src : string ;
72
74
instance_printer : printer_details option ;
73
75
hints : Hints .t option ;
76
+ reflect : bool ;
74
77
}
75
78
76
79
type instance_req_name = {
77
80
name : string ;
78
81
instance_printer : printer_details option ;
79
82
hints : Hints .t option ;
83
+ reflect : bool ;
80
84
}
81
85
82
86
type decomp_req_src = {
@@ -219,39 +223,43 @@ module Decoders (D : Decoders.Decode.S) = struct
219
223
field_opt " syntax" src_syntax >> = fun syntax ->
220
224
field " src" string >> = fun src ->
221
225
field_opt " instance_printer" printer_details >> = fun instance_printer ->
226
+ field " reflect" bool >> = fun reflect ->
222
227
field_opt " hints" Hints. t >> = fun hints ->
223
228
let syntax = Option. value ~default: Iml syntax in
224
229
let r : Request.verify_req_src =
225
- Request. { syntax; src; instance_printer; hints }
230
+ Request. { syntax; src; instance_printer; hints; reflect }
226
231
in
227
232
succeed r
228
233
229
234
let verify_req_name : Request.verify_req_name decoder =
230
235
field " name" string >> = fun name ->
231
236
field_opt " instance_printer" printer_details >> = fun instance_printer ->
232
237
field_opt " hints" Hints. t >> = fun hints ->
238
+ field " reflect" bool >> = fun reflect ->
233
239
let r : Request.verify_req_name =
234
- Request. { name; instance_printer; hints }
240
+ Request. { name; instance_printer; hints; reflect }
235
241
in
236
242
succeed r
237
243
238
244
let instance_req_src : Request.instance_req_src decoder =
239
245
field_opt " syntax" src_syntax >> = fun syntax ->
240
246
field " src" string >> = fun src ->
247
+ field " reflect" bool >> = fun reflect ->
241
248
field_opt " instance_printer" printer_details >> = fun instance_printer ->
242
249
field_opt " hints" Hints. t >> = fun hints ->
243
250
let syntax = Option. value ~default: Iml syntax in
244
251
let r : Request.instance_req_src =
245
- Request. { syntax; src; instance_printer; hints }
252
+ Request. { syntax; src; instance_printer; hints; reflect }
246
253
in
247
254
succeed r
248
255
249
256
let instance_req_name : Request.instance_req_name decoder =
250
257
field " name" string >> = fun name ->
258
+ field " reflect" bool >> = fun reflect ->
251
259
field_opt " instance_printer" printer_details >> = fun instance_printer ->
252
260
field_opt " hints" Hints. t >> = fun hints ->
253
261
let r : Request.instance_req_name =
254
- Request. { name; instance_printer; hints }
262
+ Request. { name; instance_printer; hints; reflect }
255
263
in
256
264
succeed r
257
265
@@ -429,37 +437,45 @@ module Encoders (E : D.Encode.S) = struct
429
437
430
438
let verify_req_src (x : Request.verify_req_src ) =
431
439
obj
432
- ([ " syntax" , src_syntax x.syntax; " src" , string x.src ]
440
+ ([
441
+ " syntax" , src_syntax x.syntax;
442
+ " src" , string x.src;
443
+ " reflect" , bool x.reflect;
444
+ ]
433
445
|> append_opt_key " instance_printer" printer_details x.instance_printer
434
446
|> append_opt_key " hints" Hints_e. t x.hints)
435
447
436
448
let verify_req_name (x : Request.verify_req_name ) =
437
449
obj
438
- ([ " name" , string x.name ]
450
+ ([ " name" , string x.name; " reflect " , bool x.reflect ]
439
451
|> append_opt_key " instance_printer" printer_details x.instance_printer
440
452
|> append_opt_key " hints" Hints_e. t x.hints)
441
453
442
454
let instance_req_src (x : Request.instance_req_src ) =
443
455
obj
444
- ([ " syntax" , src_syntax x.syntax; " src" , string x.src ]
456
+ ([
457
+ " syntax" , src_syntax x.syntax;
458
+ " src" , string x.src;
459
+ " reflect" , bool x.reflect;
460
+ ]
445
461
|> append_opt_key " instance_printer" printer_details x.instance_printer
446
462
|> append_opt_key " hints" Hints_e. t x.hints)
447
463
448
464
let instance_req_name (x : Request.instance_req_name ) =
449
465
obj
450
- ([ " name" , string x.name ]
466
+ ([ " name" , string x.name; " reflect " , bool x.reflect ]
451
467
|> append_opt_key " instance_printer" printer_details x.instance_printer
452
468
|> append_opt_key " hints" Hints_e. t x.hints)
453
469
454
- let eval_req_src (x : Request.eval_req_src ) =
455
- obj [ " syntax" , src_syntax x.syntax; " src" , string x.src ]
456
-
457
470
let decomp_req_src (x : Request.decomp_req_src ) =
458
471
obj
459
472
([ " name" , string x.name; " prune" , bool x.prune ]
460
473
|> append_opt_key " assuming" string x.assuming
461
474
|> append_opt_key " max_rounds" int x.max_rounds
462
475
|> append_opt_key " stop_at" int x.stop_at)
476
+
477
+ let eval_req_src (x : Request.eval_req_src ) =
478
+ obj [ " syntax" , src_syntax x.syntax; " src" , string x.src ]
463
479
end
464
480
465
481
module Response = struct
0 commit comments