-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generic GHC Plugin for annotating Haskell code with source location data. -- @package ghc-srcspan-plugin @version 0.2.1.0 -- | This module provides a generic Core-to-Core pass for annotating -- Haskell expressions with the original source locations. You can use it -- to build a GHC Plugin tailored to your own library by providing a -- predicate a function to annotate interesting expressions. -- -- Example usage: -- --
-- module MyPlugin (plugin) where
--
-- import GhcPlugins
-- import GHC.Plugins.SrcSpan
--
-- plugin :: Plugin
-- plugin = defaultPlugin { installCoreToDos = install }
--
-- install :: [CommandLineOption] -> [CoreToDo] -> CoreM [CoreToDo]
-- install opts todos = do
-- reinitializeGlobals
-- return $ mypass : todos
-- where
-- mypass = CoreDoPluginPass "Add Locations" $ mkPass annotate False
-- annotate expr = ...
--
--
-- You will need to coax GHC into adding the source information to the
-- Core via Ticks. Currently there are three ways to do this:
--
--