Liquidsoap_lang.Parsed_term
include module type of struct include Runtime_term end
module Vars = Runtime_term.Vars
Sets of variables.
module Methods = Runtime_term.Methods
type custom = Runtime_term.custom
val hash_fold_custom :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
custom ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_custom :
custom ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_fold_custom_handler :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
custom_handler ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_custom_handler :
custom_handler ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_fold_custom_term :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
custom_term ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_custom_term :
custom_term ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
type 'a term = 'a Runtime_term.term = {
t : Type.t;
term : 'a;
flags : Flags.flags;
methods : 'a term Methods.t;
}
val has_flag : 'a term -> Flags.flag -> bool
val hash_fold_func_argument :
'a 'b. (Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'a ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
(Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'b ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
('a, 'b) func_argument ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
type ('a, 'b) func = ('a, 'b) Runtime_term.func = {
mutable free_vars : Vars.t option;
name : string option;
arguments : ('a, 'b) func_argument list;
body : 'a;
}
val hash_fold_cast :
'a 'b. (Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'a ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
(Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'b ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
('a, 'b) cast ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
type ('a, 'b) common_ast = [
| `Custom of custom_term
| `Tuple of 'a list
| `Null
| `Cast of ('a, 'b) cast
| `Open of 'a * 'a
| `Var of string
| `Seq of 'a * 'a
]
val hash_fold_common_ast :
'a 'b. (Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'a ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
(Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'b ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
('a, 'b) common_ast ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
type 'a let_t = 'a Runtime_term.let_t = {
doc : Doc.Value.t option;
replace : bool;
pat : [ `PVar of string list | `PTuple of string list ];
mutable gen : Type.var list;
def : 'a;
body : 'a;
}
type 'a runtime_ast = [
| `Int of int
| `Cache_env of cached_env Stdlib.ref
| `Float of float
| `String of string
| `Bool of bool
| `Let of 'a let_t
| `List of 'a list
| `App of 'a * (string * 'a) list
| `Invoke of 'a Runtime_term.invoke
| `Hide of 'a * string list
| `Encoder of
string * 'a {encoder_params}2/shadowed/(dbf611fb7189c910216a385fbbdc5f44)
| `Fun of ('a, Type.t) func
]
module Custom = Liquidsoap_lang.Term_base.Custom
type pos = Term_base.parsed_pos
val hash_fold_string_param :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
string_param ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_string_param :
string_param ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
type track_annotation = string * string_param
val hash_fold_track_annotation :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
track_annotation ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_track_annotation :
track_annotation ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_fold_inc_type :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
inc_type ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_inc_type :
inc_type ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_fold_inc :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
inc ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_inc :
inc ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_fold_pattern :
pattern Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_pattern_entry :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
pattern_entry ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_meth_term_default :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
meth_term_default ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_pattern :
pattern ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_pattern_entry :
pattern_entry ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_meth_term_default :
meth_term_default ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_fold__of :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
_of ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash__of :
_of ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
and let_decoration = [
| `None
| `Recursive
| `Replaces
| `Eval
| `Sqlite_query
| `Sqlite_row
| `Yaml_parse
| `Xml_parse
| `Json_parse of (string * t) list
]
and _let = {
decoration : let_decoration;
pat : pattern;
arglist : fun_arg list option;
cast : type_annotation option;
def : t;
}
and if_version = {
if_version_op : [ `Eq | `Geq | `Leq | `Gt | `Lt ];
if_version_version : Lang_string.Version.t;
if_version_then : t;
if_version_else : t option;
}
and meth_annotation = {
optional_meth : bool;
name : string;
typ : type_annotation;
json_name : string option;
}
and source_track_annotation = {
track_name : string;
track_type : string;
track_params : track_annotation list;
}
and argument = bool * string * type_annotation
and type_annotation = [
| `Named of string
| `Nullable of type_annotation
| `List of type_annotation
| `Json_object of type_annotation
| `Tuple of type_annotation list
| `Arrow of argument list * type_annotation
| `Record of meth_annotation list
| `Method of type_annotation * meth_annotation list
| `Invoke of type_annotation * string
| `Source of string * source_annotation
]
and parsed_ast = [
| `If of _if
| `Inline_if of _if
| `If_def of if_def
| `If_version of if_version
| `If_encoder of if_encoder
| `While of _while
| `For of _for
| `Iterable_for of iterable_for
| `List of list_el list
| `Try of _try
| `Regexp of string * char list
| `Time_interval of time_el * time_el
| `Time of time_el
| `Def of _let * t
| `Let of _let * t
| `Binding of _let * t
| `App of t * app_arg list
| `Invoke of invoke
| `Fun of fun_arg list * t
| `RFun of string * fun_arg list * t
| `Not of t
| `Get of t
| `Set of t * t
| `Methods of t option * methods list
| `Negative of t
| `Append of t * t
| `Assoc of t * t
| `Infix of t * string * t
| `BoolOp of string * t list
| `Coalesce of t * t
| `At of t * t
| `Simple_fun of t
| `String_interpolation of char * string_interpolation list
| `Include of inc
| `Int of string
| `Bool of bool
| `Float of string
| `String of char * string
| `Block of t
| `Parenthesis of t
| `Encoder of encoder
| `Eof
| (t, type_annotation) common_ast
]
and encoder_params =
[ `Anonymous of string_param
| `Encoder of encoder
| `Labelled of string_param * t ]
list
and encoder = string * encoder_params
val hash_fold__if :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
_if ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold__while :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
_while ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold__for :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
_for ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_iterable_for :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
iterable_for ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold__try :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
_try ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_let_decoration :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
let_decoration ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold__let :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
_let ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_invoke :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
invoke ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_invoke_meth :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
invoke_meth ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_app_arg :
app_arg Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_fun_arg :
fun_arg Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_list_el :
list_el Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_if_def :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
if_def ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_if_version :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
if_version ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_if_encoder :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
if_encoder ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_time_el :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
time_el ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_meth_annotation :
meth_annotation Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_source_track_annotation :
source_track_annotation
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_source_annotation :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
source_annotation ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_argument :
argument Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_type_annotation :
type_annotation Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_parsed_ast :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
parsed_ast ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_t : t Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_methods :
methods Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_string_interpolation :
string_interpolation Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folder
val hash_fold_encoder_params :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
encoder_params ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash_fold_encoder :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
encoder ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state
val hash__if :
_if ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash__while :
_while ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash__for :
_for ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_iterable_for :
iterable_for ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash__try :
_try ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_let_decoration :
let_decoration ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash__let :
_let ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_invoke :
invoke ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_invoke_meth :
invoke_meth ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_app_arg :
app_arg ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_fun_arg :
fun_arg ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_list_el :
list_el ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_if_def :
if_def ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_if_version :
if_version ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_if_encoder :
if_encoder ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_time_el :
time_el ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_meth_annotation :
meth_annotation ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_source_track_annotation :
source_track_annotation ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_source_annotation :
source_annotation ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_argument :
argument ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_type_annotation :
type_annotation ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_parsed_ast :
parsed_ast ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash : t -> Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_methods :
methods ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_string_interpolation :
string_interpolation ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_encoder_params :
encoder_params ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val hash_encoder :
encoder ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_value
val make : ?comments:(pos * comment) list -> pos:pos -> parsed_ast -> t