X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FdeSugar%2FDsBreakpoint.lhs;fp=compiler%2FdeSugar%2FDsBreakpoint.lhs;h=869cde64b24eacae90d721c4d51d29f4701cf0f0;hb=e81584fdd6320e5d5b29be5d89ff7590dfc531fb;hp=71248e48bf8a1b01107f069c6afbdf7111b6d792;hpb=91388bb33e3f8d9baa926e54e0d1b1949f5fefa0;p=ghc-hetmet.git diff --git a/compiler/deSugar/DsBreakpoint.lhs b/compiler/deSugar/DsBreakpoint.lhs index 71248e4..869cde6 100644 --- a/compiler/deSugar/DsBreakpoint.lhs +++ b/compiler/deSugar/DsBreakpoint.lhs @@ -47,15 +47,17 @@ import Data.IORef import Foreign.StablePtr import GHC.Exts #ifdef GHCI -mkBreakpointExpr :: SrcSpan -> Id -> DsM (LHsExpr Id) -mkBreakpointExpr loc bkptFuncId = do +mkBreakpointExpr :: SrcSpan -> Id -> Type -> DsM (LHsExpr Id) +mkBreakpointExpr loc bkptFuncId ty = do scope <- getScope mod <- getModuleDs + u <- newUnique let mod_name = moduleNameFS$ moduleName mod + valId = mkUserLocal (mkVarOcc "_result") u ty noSrcLoc when (not instrumenting) $ warnDs (text "Extracted ids:" <+> (ppr scope $$ ppr (map idType scope))) - stablePtr <- ioToIOEnv $ newStablePtr scope + stablePtr <- ioToIOEnv $ newStablePtr (valId:scope) site <- if instrumenting then recordBkpt (srcSpanStart loc) else return 0