Module Migrate_parsetree_ast_io

module Migrate_parsetree_ast_io: sig .. end
A marshalled ast packs the ast with the corresponding version of the frontend

type ast = 
| Impl : (module Migrate_parsetree_versions.OCaml_version with type Ast.Parsetree.structure = 'concrete)
* 'concrete
-> ast
| Intf : (module Migrate_parsetree_versions.OCaml_version with type Ast.Parsetree.signature = 'concrete0)
* 'concrete0
-> ast
type filename = string 
A simple alias used for the filename of the source that produced an AST
type read_error = 
| Not_a_binary_ast of string (*
The input doesn't contain a binary AST. The argument corresponds to the bytes from the input that were consumed.
*)
| Unknown_version of string (*
The input contains a binary AST for an unknown version of OCaml. The argument is the unknown magic number.
*)
val from_channel : Pervasives.in_channel ->
(filename * ast,
read_error)
Pervasives.result
Load a marshalled AST from a channel

Any exception raised during unmarshalling (see Marshal) can escape.

val from_bytes : bytes ->
int ->
(filename * ast,
read_error)
Pervasives.result
Load a marshalled AST from a byte string.

See from_channel description for exception that can be raised.

val to_channel : Pervasives.out_channel ->
filename -> ast -> unit
Marshal an AST to a channel
val to_bytes : filename -> ast -> bytes
Marshal an AST to a byte string