hsimport-0.9.0: lib/HsImport/Utils.hs
module HsImport.Utils
( firstSrcLine
, lastSrcLine
, srcSpan
, declSrcLoc
, importDecls
) where
import qualified Language.Haskell.Exts as HS
import HsImport.Types
declSrcLoc :: Decl -> SrcLoc
declSrcLoc decl = HS.SrcLoc srcFile srcLine srcCol
where
declSrcSpan = srcSpan . HS.ann $ decl
srcFile = HS.srcSpanFilename declSrcSpan
srcLine = HS.srcSpanStartLine declSrcSpan
srcCol = HS.srcSpanStartColumn declSrcSpan
importDecls :: Module -> [ImportDecl]
importDecls (HS.Module _ _ _ imports _) = imports
importDecls (HS.XmlPage _ _ _ _ _ _ _) = []
importDecls (HS.XmlHybrid _ _ _ imports _ _ _ _ _) = imports