Module Compile_context

module Compile_context: sig .. end

type ('a, 'b) compile_context 
val build_compile_context : Typing_context.static_context -> ('a, 'b) compile_context
val default_compile_context : Norm_context.norm_context -> ('a, 'b) compile_context
val replace_static_context_in_compile_context : Typing_context.static_context ->
('a, 'b) compile_context ->
('a, 'b) compile_context
val replace_namespace_env_in_compile_context : Namespace_context.nsenv ->
('a, 'b) compile_context ->
('a, 'b) compile_context
val static_context_from_compile_context : ('a, 'b) compile_context -> Typing_context.static_context
val norm_context_from_compile_context : ('a, 'b) compile_context -> Norm_context.norm_context
val add_function_to_compile_context : ('a, 'b) compile_context ->
Xquery_common_ast.cfname * int ->
('a, 'b) Xquery_algebra_ast.aalgop_function_body -> unit
val get_function_from_compile_context : string ->
('a, 'b) compile_context ->
Xquery_common_ast.cfname * int ->
('a, 'b) Xquery_algebra_ast.aalgop_function_body
val mem_function_from_compile_context : ('a, 'b) compile_context ->
Xquery_common_ast.cfname * int -> bool
val update_physical_plan_in_compile_context : ('a, 'b) compile_context ->
Xquery_common_ast.cfname * int ->
('a, 'b) Xquery_algebra_ast.aalgop_expr -> unit
val register_builtin : Xquery_common_ast.cfname * int -> unit
val is_builtin : Xquery_common_ast.cfname * int -> bool
val has_input_set : ('a, 'b) compile_context -> bool
val add_variable_field_to_compile_context : ('a, 'b) compile_context ->
Xquery_common_ast.cvname -> ('a, 'b) compile_context
val hide_variable_field_from_compile_context : ('a, 'b) compile_context ->
Xquery_common_ast.cvname -> ('a, 'b) compile_context
val get_variable_field_from_compile_context : ('a, 'b) compile_context ->
Xquery_common_ast.cvname -> Xquery_common_ast.crname option
val get_tuple_field_name : ('a, 'b) compile_context ->
Xquery_common_ast.cvname -> Xquery_common_ast.crname
val get_new_variable_name : ('a, 'b) compile_context -> string -> Namespace_names.rqname
val get_new_group_name : ('a, 'b) compile_context -> Namespace_names.rqname
val get_new_dot_name : ('a, 'b) compile_context -> Namespace_names.rqname
val get_new_var_name : ('a, 'b) compile_context -> Namespace_names.rqname
val no_more_input : ('a, 'b) compile_context -> unit
val update_compile_context_from_module : ('a, 'b) compile_context ->
('a, 'b, 'c) Xquery_algebra_ast.aalgop_xmodule ->
('a, 'b) compile_context
val copy_compile_context : ('a, 'b) compile_context ->
('a, 'b) compile_context
val copy_without_functions : ('a, 'b) compile_context ->
('c, 'd) compile_context
val map_function_bodies : ('a, 'b) compile_context ->
(('c, 'd) Xquery_algebra_ast.aalgop_function_body
Namespace_util.RQNameIntHashtbl.t ->
Xquery_common_ast.cfname * int ->
('a, 'b) Xquery_algebra_ast.aalgop_function_body -> unit) ->
('c, 'd) compile_context
val update_compile_context : ('a, 'b) compile_context ->
('a, 'b) compile_context ->
('a, 'b) compile_context