text-show-2.1: src/TextShow/GHC/RTS/Flags.hs
{-# 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-2015 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 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(showbPrec))
# if MIN_VERSION_base(4,8,2)
import TextShow.Classes (showb)
# endif
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 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)
$(deriveTextShow giveGCStatsTypeName)
$(deriveTextShow doCostCentresTypeName)
$(deriveTextShow doHeapProfileTypeName)
$(deriveTextShow doTraceTypeName)
#endif