Commit f2643821 authored by mnislaih's avatar mnislaih
Browse files

Ask for a HscEnv instead of a Session in InteractiveEval.obtainTerm

This does a better job of showing that obtainTerm does not alter the Session
parent 2bddda56
......@@ -63,12 +63,12 @@ pprintClosureCommand session bindThings force str = do
-- Do the obtainTerm--bindSuspensions-computeSubstitution dance
go :: Session -> Id -> IO (Maybe TvSubst)
go cms id = do
term_ <- obtainTerm cms force id
term <- tidyTermTyVars cms term_
term' <- if not bindThings then return term
term_ <- withSession cms $ \hsc_env -> obtainTerm hsc_env force id
term <- tidyTermTyVars cms term_
term' <- if not bindThings then return term
else bindSuspensions cms term
showterm <- printTerm cms term'
unqual <- GHC.getPrintUnqual cms
showterm <- printTerm cms term'
unqual <- GHC.getPrintUnqual cms
let showSDocForUserOneLine unqual doc =
showDocWith LeftMode (doc (mkErrStyle unqual))
(putStrLn . showSDocForUserOneLine unqual)
......
......@@ -819,11 +819,11 @@ isModuleInterpreted s mod_summary = withSession s $ \hsc_env ->
where
obj_linkable = isObjectLinkable (expectJust "showModule" (hm_linkable mod_info))
obtainTerm1 :: Session -> Bool -> Maybe Type -> a -> IO Term
obtainTerm1 sess force mb_ty x = withSession sess $ \hsc_env -> cvObtainTerm hsc_env force mb_ty (unsafeCoerce# x)
obtainTerm1 :: HscEnv -> Bool -> Maybe Type -> a -> IO Term
obtainTerm1 hsc_env force mb_ty x = cvObtainTerm hsc_env force mb_ty (unsafeCoerce# x)
obtainTerm :: Session -> Bool -> Id -> IO Term
obtainTerm sess force id = withSession sess $ \hsc_env -> do
obtainTerm :: HscEnv -> Bool -> Id -> IO Term
obtainTerm hsc_env force id = do
hv <- Linker.getHValue hsc_env (varName id)
cvObtainTerm hsc_env force (Just$ idType id) hv
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment