{-# LANGUAGE GeneralizedNewtypeDeriving #-} module GHC.Util.SrcLoc ( stripLocs' , SrcSpanD(..) ) where import SrcLoc import Outputable import Data.Default import Data.Data import Data.Generics.Uniplate.Data -- 'stripLocs x' is 'x' with all contained source locs replaced by -- 'noSrcSpan'. stripLocs' :: (Data from, HasSrcSpan from) => from -> from stripLocs' = transformBi (const noSrcSpan) -- 'Duplicates.hs' requires 'SrcSpan' be in 'Default'. newtype SrcSpanD = SrcSpanD SrcSpan deriving (Outputable, Eq, Ord) instance Default SrcSpanD where def = SrcSpanD noSrcSpan