packages feed

dead-code-detection-0.1: src/GHC/Show.hs

{-# LANGUAGE LambdaCase #-}

module GHC.Show where

import           Data.String.Conversions
import           FastString
import           GHC
import           Name
import           Outputable

formatName :: Name -> String
formatName name =
  srcLocS ++ ": " ++ showSDocUnsafe (ppr name)
  where
    srcLocS = case nameSrcLoc name of
      RealSrcLoc loc ->
        cs (fs_bs (srcLocFile loc)) ++ ":" ++
        show (srcLocLine loc) ++ ":" ++
        show (srcLocCol loc)
      UnhelpfulLoc s -> cs (fs_bs s)

-- * development utils

nyi :: Outputable doc => doc -> a
nyi = error . ("Not yet implemented: " ++) . showSDocUnsafe . ppr