method env = _env
method setEnv e = _env <- e
- method disambiguateTermAst ?(context = []) ?(metasenv = []) ?(env = _env)
- termAst
- =
+ method disambiguateTermAst ?(context = []) ?(metasenv = []) ?env termAst =
+ let (save_state, env) =
+ match env with
+ | Some env -> (false, env)
+ | None -> (true, _env)
+ in
match disambiguate_term mqiconn context metasenv termAst ~aliases:env with
- | [ x ] -> x
+ | [ (env, metasenv, term) as x ] ->
+ if save_state then self#setEnv env;
+ x
| _ -> assert false
method disambiguateTerm ?context ?metasenv ?env stream =