Module Data_race_checker.Data_race_checker_env
val elem_in_list : 'a -> 'a list -> boolval is_subset_of : 'a list -> 'a list -> boolval intersect_lists : 'a list -> 'a list -> 'a listval var_lists_are_equal : Ast.Ast_types.Var_name.t list -> Ast.Ast_types.Var_name.t list -> boolval identifier_matches_var_name : Ast.Ast_types.Var_name.t -> Desugaring.Desugared_ast.identifier -> boolval capability_mode_present : Ast.Ast_types.mode -> Ast.Ast_types.mode -> boolval class_has_mode : Ast.Ast_types.Class_name.t -> Ast.Ast_types.mode -> Desugaring.Desugared_ast.class_defn list -> boolval type_has_mode : Ast.Ast_types.type_expr -> Ast.Ast_types.mode -> Desugaring.Desugared_ast.class_defn list -> boolval identifier_has_mode : Desugaring.Desugared_ast.identifier -> Ast.Ast_types.mode -> Desugaring.Desugared_ast.class_defn list -> boolval capability_fields_have_mode : Ast.Ast_types.capability -> Ast.Ast_types.Class_name.t -> Ast.Ast_types.mode -> Desugaring.Desugared_ast.class_defn list -> boolval get_class_capabilities : Ast.Ast_types.Class_name.t -> Desugaring.Desugared_ast.class_defn list -> Ast.Ast_types.capability listval get_class_field_capabilities : Ast.Ast_types.Class_name.t -> Ast.Ast_types.Field_name.t -> Desugaring.Desugared_ast.class_defn list -> Ast.Ast_types.capability listval get_class_capability_fields : Ast.Ast_types.Class_name.t -> Ast.Ast_types.Capability_name.t -> Desugaring.Desugared_ast.class_defn list -> Ast.Ast_types.field_defn listval get_identifier_name : Desugaring.Desugared_ast.identifier -> Ast.Ast_types.Var_name.tval get_identifier_capabilities : Desugaring.Desugared_ast.identifier -> Ast.Ast_types.capability listval set_identifier_capabilities : Desugaring.Desugared_ast.identifier -> Ast.Ast_types.capability list -> Desugaring.Desugared_ast.identifierval get_function_params : Ast.Ast_types.Function_name.t -> Desugaring.Desugared_ast.function_defn list -> Ast.Ast_types.param listval get_function_defn : Ast.Ast_types.Function_name.t -> Desugaring.Desugared_ast.function_defn list -> Desugaring.Desugared_ast.function_defnval get_method_params : Ast.Ast_types.Class_name.t -> Ast.Ast_types.Method_name.t -> Desugaring.Desugared_ast.class_defn list -> Ast.Ast_types.param listval get_method_defn : Ast.Ast_types.Class_name.t -> Ast.Ast_types.Method_name.t -> Desugaring.Desugared_ast.class_defn list -> Desugaring.Desugared_ast.method_defnval param_to_obj_var_and_capabilities : Desugaring.Desugared_ast.class_defn list -> Ast.Ast_types.param -> Desugaring.Desugared_ast.obj_var_and_capabilities optionval params_to_obj_vars_and_capabilities : Desugaring.Desugared_ast.class_defn list -> Ast.Ast_types.param list -> Desugaring.Desugared_ast.obj_var_and_capabilities listConvert a parameter to a representation which contains the capabilities it is allowed to access.
val get_method_capabilities_used : Ast.Ast_types.Class_name.t -> Ast.Ast_types.Method_name.t -> Desugaring.Desugared_ast.class_defn list -> Ast.Ast_types.capability listval reduce_expr_to_obj_ids : Desugaring.Desugared_ast.expr -> Desugaring.Desugared_ast.identifier listUse abstract interpretation to return the potential object identifiers this expression reduces to, if it reduces to an identifier.
val reduce_block_expr_to_obj_ids : Desugaring.Desugared_ast.block_expr -> Desugaring.Desugared_ast.identifier listval find_aliases_in_block_expr : should_match_fields:bool -> Ast.Ast_types.Var_name.t -> Desugaring.Desugared_ast.block_expr -> Ast.Ast_types.Var_name.t listFind all aliases of x (if should match fields=true then find aliases of x.f x.g etc too)