Up

Module Gen_struct

Signature

val fields : Parsetree.label_declaration list -> (string * [>
| `Immutable
| `Mutable
] * Parsetree.core_type) list
val make_body : ?unique_f:(Location.t -> field_name:string -> field_ty:Parsetree.core_type -> Parsetree.expression) -> ?first_f:(Location.t -> field_name:string -> field_ty:Parsetree.core_type -> Parsetree.expression) -> ?last_f:(Location.t -> field_name:string -> field_ty:Parsetree.core_type -> Parsetree.expression) -> lds:Parsetree.label_declaration list -> init:Parsetree.expression -> Location.t -> (Location.t -> field_name:string -> field_ty:Parsetree.core_type -> Parsetree.expression) -> Parsetree.expression
val anonymous : Location.t -> Parsetree.pattern

Create the anonymous pattern

val generate_using_fold : ?wrap_body:(Parsetree.expression -> Parsetree.expression) -> pass_acc:bool -> pass_anonymous:bool -> conversion_of_type:(Location.t -> field_name:string -> field_ty:Parsetree.core_type -> Parsetree.expression) -> name:Parsetree.pattern -> lds:Parsetree.label_declaration list -> Location.t -> Parsetree.structure_item
val generate : extension_name:string -> record:(tps:Parsetree.core_type list -> record_name:string -> Location.t -> Parsetree.label_declaration list -> 'new_record) -> loc:Location.t -> path:string -> Asttypes.rec_flag * Parsetree.type_declaration list -> 'new_record