{-# LANGUAGE CPP #-} #if MIN_VERSION_base(4,8,0) {-# LANGUAGE TemplateHaskell #-} {-# OPTIONS_GHC -fno-warn-orphans #-} #endif {-| Module: TextShow.GHC.RTS.Flags Copyright: (C) 2014-2016 Ryan Scott License: BSD-style (see the file LICENSE) Maintainer: Ryan Scott Stability: Provisional Portability: GHC Monomorphic 'TextShow' functions for data types in the 'GHC.RTS.Flags' module. This module only exports functions if using @base-4.8.0.0@ or later. /Since: 2/ -} module TextShow.GHC.RTS.Flags ( #if !(MIN_VERSION_base(4,8,0)) ) where #else showbRTSFlagsPrec , showbGCFlagsPrec , showbConcFlagsPrec , showbMiscFlagsPrec , showbDebugFlagsPrec , showbCCFlagsPrec , showbProfFlagsPrec , showbTraceFlagsPrec , showbTickyFlagsPrec # if __GLASGOW_HASKELL__ >= 801 , showbParFlagsPrec # endif # if MIN_VERSION_base(4,8,2) , showbGiveGCStats , showbDoCostCentres , showbDoHeapProfile , showbDoTrace # endif ) where import Data.Text.Lazy.Builder (Builder) import GHC.RTS.Flags import TextShow.Classes (TextShow(..)) import TextShow.Data.Bool () import TextShow.Data.Char () import TextShow.Data.Floating () import TextShow.Data.Integral () import TextShow.Data.List () import TextShow.Data.Maybe () import TextShow.TH.Internal (deriveTextShow) import TextShow.TH.Names (giveGCStatsTypeName, doCostCentresTypeName, doHeapProfileTypeName, doTraceTypeName) -- | Convert an 'RTSFlags' value to a 'Builder' with the given precedence. -- This function is only available with @base-4.8.0.0@ or later. -- -- /Since: 2/ showbRTSFlagsPrec :: Int -> RTSFlags -> Builder showbRTSFlagsPrec = showbPrec {-# INLINE showbRTSFlagsPrec #-} -- | Convert a 'GCFlags' value to a 'Builder' with the given precedence. -- This function is only available with @base-4.8.0.0@ or later. -- -- /Since: 2/ showbGCFlagsPrec :: Int -> GCFlags -> Builder showbGCFlagsPrec = showbPrec {-# INLINE showbGCFlagsPrec #-} -- | Convert a 'ConcFlags' value to a 'Builder' with the given precedence. -- This function is only available with @base-4.8.0.0@ or later. -- -- /Since: 2/ showbConcFlagsPrec :: Int -> ConcFlags -> Builder showbConcFlagsPrec = showbPrec {-# INLINE showbConcFlagsPrec #-} -- | Convert a 'MiscFlags' value to a 'Builder' with the given precedence. -- This function is only available with @base-4.8.0.0@ or later. -- -- /Since: 2/ showbMiscFlagsPrec :: Int -> MiscFlags -> Builder showbMiscFlagsPrec = showbPrec {-# INLINE showbMiscFlagsPrec #-} -- | Convert a 'DebugFlags' value to a 'Builder' with the given precedence. -- -- /Since: 2/ showbDebugFlagsPrec :: Int -> DebugFlags -> Builder showbDebugFlagsPrec = showbPrec {-# INLINE showbDebugFlagsPrec #-} -- | Convert a 'CCFlags' value to a 'Builder' with the given precedence. -- This function is only available with @base-4.8.0.0@ or later. -- -- /Since: 2/ showbCCFlagsPrec :: Int -> CCFlags -> Builder showbCCFlagsPrec = showbPrec {-# INLINE showbCCFlagsPrec #-} -- | Convert a 'ProfFlags' value to a 'Builder' with the given precedence. -- This function is only available with @base-4.8.0.0@ or later. -- -- /Since: 2/ showbProfFlagsPrec :: Int -> ProfFlags -> Builder showbProfFlagsPrec = showbPrec {-# INLINE showbProfFlagsPrec #-} -- | Convert a 'TraceFlags' value to a 'Builder' with the given precedence. -- This function is only available with @base-4.8.0.0@ or later. -- -- /Since: 2/ showbTraceFlagsPrec :: Int -> TraceFlags -> Builder showbTraceFlagsPrec = showbPrec {-# INLINE showbTraceFlagsPrec #-} -- | Convert a 'TickyFlags' value to a 'Builder' with the given precedence. -- This function is only available with @base-4.8.0.0@ or later. -- -- /Since: 2/ showbTickyFlagsPrec :: Int -> TickyFlags -> Builder showbTickyFlagsPrec = showbPrec {-# INLINE showbTickyFlagsPrec #-} # if __GLASGOW_HASKELL__ >= 801 -- | Convert a 'ParFlags' value to a 'Builder' with the given precedence. -- This function is only available with GHC 8.1 or later. -- -- /Since: 3.3/ showbParFlagsPrec :: Int -> ParFlags -> Builder showbParFlagsPrec = showbPrec {-# INLINE showbParFlagsPrec #-} # endif # if MIN_VERSION_base(4,8,2) -- | Convert a 'GiveGCStats' value to a 'Builder'. -- This function is only available with @base-4.8.2.0@ or later. -- -- /Since: 2.1/ showbGiveGCStats :: GiveGCStats -> Builder showbGiveGCStats = showb {-# INLINE showbGiveGCStats #-} -- | Convert a 'DoCostCentres' value to a 'Builder'. -- This function is only available with @base-4.8.2.0@ or later. -- -- /Since: 2.1/ showbDoCostCentres :: DoCostCentres -> Builder showbDoCostCentres = showb {-# INLINE showbDoCostCentres #-} -- | Convert a 'DoHeapProfile' value to a 'Builder'. -- This function is only available with @base-4.8.2.0@ or later. -- -- /Since: 2.1/ showbDoHeapProfile :: DoHeapProfile -> Builder showbDoHeapProfile = showb {-# INLINE showbDoHeapProfile #-} -- | Convert a 'DoTrace' value to a 'Builder'. -- This function is only available with @base-4.8.2.0@ or later. -- -- /Since: 2.1/ showbDoTrace :: DoTrace -> Builder showbDoTrace = showb {-# INLINE showbDoTrace #-} # endif $(deriveTextShow ''RTSFlags) $(deriveTextShow ''GCFlags) $(deriveTextShow ''ConcFlags) $(deriveTextShow ''MiscFlags) $(deriveTextShow ''DebugFlags) $(deriveTextShow ''CCFlags) $(deriveTextShow ''ProfFlags) $(deriveTextShow ''TraceFlags) $(deriveTextShow ''TickyFlags) # if __GLASGOW_HASKELL__ >= 801 $(deriveTextShow ''ParFlags) # endif $(deriveTextShow giveGCStatsTypeName) $(deriveTextShow doCostCentresTypeName) $(deriveTextShow doHeapProfileTypeName) $(deriveTextShow doTraceTypeName) #endif