ghcide-0.0.1: src/Development/IDE/GHC/Orphans.hs
-- Copyright (c) 2019 The DAML Authors. All rights reserved.
-- SPDX-License-Identifier: Apache-2.0
{-# LANGUAGE FlexibleInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
-- | Orphan instances for GHC.
-- Note that the 'NFData' instances may not be law abiding.
module Development.IDE.GHC.Orphans() where
import GHC
import GhcPlugins
import Development.IDE.GHC.Compat
import qualified StringBuffer as SB
import Control.DeepSeq
import Data.Hashable
import Development.IDE.GHC.Util
-- Orphan instances for types from the GHC API.
instance Show CoreModule where show = prettyPrint
instance NFData CoreModule where rnf = rwhnf
instance Show InstalledUnitId where
show = installedUnitIdString
instance NFData InstalledUnitId where rnf = rwhnf
instance NFData SB.StringBuffer where rnf = rwhnf
instance Show Module where
show = moduleNameString . moduleName
instance Show (GenLocated SrcSpan ModuleName) where show = prettyPrint
instance NFData (GenLocated SrcSpan ModuleName) where
rnf = rwhnf
instance Show ModSummary where
show = show . ms_mod
instance Show ParsedModule where
show = show . pm_mod_summary
instance NFData ModSummary where
rnf = rwhnf
instance NFData ParsedModule where
rnf = rwhnf
instance Hashable InstalledUnitId where
hashWithSalt salt = hashWithSalt salt . installedUnitIdString
instance Show HieFile where
show = show . hie_module
instance NFData HieFile where
rnf = rwhnf