Safe Haskell | Ignore |
---|---|
Language | GHC2021 |
Parsing the top of a Haskell source file to get its module name, imports and options.
(c) Simon Marlow 2005 (c) Lemmih 2006
Synopsis
- getImports :: ParserOpts -> Bool -> StringBuffer -> FilePath -> FilePath -> IO (Either (Messages PsMessage) ([(RawPkgQual, Located ModuleName)], [(RawPkgQual, Located ModuleName)], Bool, Located ModuleName))
- mkPrelImports :: ModuleName -> SrcSpan -> Bool -> [LImportDecl GhcPs] -> [LImportDecl GhcPs]
- getOptionsFromFile :: ParserOpts -> FilePath -> IO (Messages PsMessage, [Located String])
- getOptions :: ParserOpts -> StringBuffer -> FilePath -> (Messages PsMessage, [Located String])
- toArgs :: RealSrcLoc -> String -> Either String [Located String]
- checkProcessArgsResult :: MonadIO m => [Located String] -> m ()
Documentation
:: ParserOpts | Parser options |
-> Bool | Implicit Prelude? |
-> StringBuffer | Parse this. |
-> FilePath | Filename the buffer came from. Used for reporting parse error locations. |
-> FilePath | The original source filename (used for locations in the function result) |
-> IO (Either (Messages PsMessage) ([(RawPkgQual, Located ModuleName)], [(RawPkgQual, Located ModuleName)], Bool, Located ModuleName)) | The source imports and normal imports (with optional package names from -XPackageImports), and the module name. |
Parse the imports of a source file.
Throws a SourceError
if parsing fails.
mkPrelImports :: ModuleName -> SrcSpan -> Bool -> [LImportDecl GhcPs] -> [LImportDecl GhcPs] Source #
:: ParserOpts | |
-> FilePath | Input file |
-> IO (Messages PsMessage, [Located String]) | Parsed options, if any. |
Parse OPTIONS and LANGUAGE pragmas of the source file.
Throws a SourceError
if flag parsing fails (including unsupported flags.)
:: ParserOpts | |
-> StringBuffer | Input Buffer |
-> FilePath | Source filename. Used for location info. |
-> (Messages PsMessage, [Located String]) | warnings and parsed options. |
Parse OPTIONS and LANGUAGE pragmas of the source file.
Throws a SourceError
if flag parsing fails (including unsupported flags.)
checkProcessArgsResult :: MonadIO m => [Located String] -> m () Source #
Complain about non-dynamic flags in OPTIONS pragmas.
Throws a SourceError
if the input list is non-empty claiming that the
input flags are unknown.