(***********************************************************************)(* *)(* OCamlSpotter *)(* *)(* Jun FURUSE *)(* *)(* Copyright 2008-2012 Jun Furuse. All rights reserved. *)(* This file is distributed under the terms of the GNU Library *)(* General Public License, with the special exception on linking *)(* described in file LICENSE. *)(* *)(***********************************************************************)openSpotopenUtilsmodulePIdent:sig(** Identifier with file name path *)typet={path:string;ident:Ident.toption;}valformat:Format.formatter->t->unitendmoduleValue:sigtypet=|IdentofPIdent.t|StructureofPIdent.t*structure*structureoption|ClosureofPIdent.t*env*Ident.t*Types.module_type*Abstraction.module_expr|ParameterofPIdent.t|Errorofexnandstructure=structure_itemlistandstructure_item=Ident.t*(Kind.t*tLazy.t)andz=tLazy.tandenv={path:string;cwd:string;load_paths:stringlist;binding:binding;}andbinding(** = Binding.t *)(** functions which force lazy parts of the given values *)moduleEnforcer:functor(A:sigend)->sigvalt:t->unitvalenv:env->unitvalbinding:binding->unitvalstructure:structure->unitvalstructure_item:structure_item->unitvalz:z->unitendmoduleFormat:sigopenFormatvalt:formatter->t->unitvalenv:formatter->env->unitvalbinding:formatter->binding->unitvalstructure:formatter->structure->unitvalz:formatter->z->unitendendmoduleBinding:sigtypet=Value.bindingvaldomain:t->Ident.tlistvalfind:t->Ident.t->(Kind.t*Value.z)optionvaloverride:t->Value.structure_item->tvaloverrides:t->Value.structure->tvalset:t->Value.structure->unitvalpredef:tvalempty:tvalinvalid:tendmoduleEnv:sigtypet=Value.env={path:string;cwd:string;load_paths:stringlist;binding:Binding.t;}valformat:Format.formatter->Value.env->unitvaldomain:t->Ident.tlistvalfind:t->Ident.t->(Kind.t*Value.z)optionvaloverride:t->Value.structure_item->tvaloverrides:t->Value.structure->tvalpredef:tendmoduleEval:sig(** These function ref will be initialized from ocamlspot.ml *)valstr_of_global_ident:(cwd:string->load_paths:stringlist->Ident.t->string*Value.structure)refvalpacked:(Env.t->string->Value.t)refvalfind_path:Env.t->Kind.t*Path.t->Value.zvalfind_ident:Value.structure->Kind.t*string*int->Value.zvalmodule_expr:Env.t->Ident.toption->Abstraction.module_expr->Value.zvalstructure:Env.t->Abstraction.structure->Value.structurevalapply:Value.z->Value.z->Value.zend