{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE MultilineStrings #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedRecordDot #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
module GHC.Debugger.Session.Interactive where
import Control.Monad.IO.Class
#if MIN_VERSION_ghc(9,15,0)
import GHC.Linker.Types (modifyHomePackageBytecodeState)
#endif
import GHC
import GHC.Driver.Env
import GHC.Iface.Env (lookupNameCache)
import GHC.Debugger.Session.Builtin
import GHC.Plugins (mkVarOcc, Definite (Definite), GenUnit (RealUnit))
defineNoPrint :: Ghc Name
defineNoPrint :: Ghc Name
defineNoPrint = do
hsc_env <- Ghc HscEnv
forall (m :: * -> *). GhcMonad m => m HscEnv
getSession
let debuggerInternalUnit = Definite UnitId -> GenUnit UnitId
forall uid. Definite uid -> GenUnit uid
RealUnit (UnitId -> Definite UnitId
forall unit. unit -> Definite unit
Definite UnitId
debuggerInternalUnitId)
liftIO $ lookupNameCache (hsc_NC hsc_env) (mkModule debuggerInternalUnit debuggerRuntimeInternalModName)
(mkVarOcc "noPrintConstant")