Safe Haskell | None |
---|---|
Language | Haskell98 |
This module contains all the code needed to output the result which
is either: SAFE
or WARNING
with some reasonable error message when
something goes wrong. All forms of errors/exceptions should go through
here. The idea should be to report the error, the source position that
causes it, generate a suitable .json file and then exit.
Synopsis
- getOpts :: [String] -> IO Config
- mkOpts :: Config -> IO Config
- defConfig :: Config
- config :: Mode (CmdArgs Config)
- withPragmas :: Config -> FilePath -> [Located String] -> IO Config
- canonicalizePaths :: FilePath -> Config -> IO Config
- exitWithResult :: Config -> [FilePath] -> Output Doc -> IO ()
- addErrors :: FixResult a -> [a] -> FixResult a
- data OutputResult = OutputResult {
- orHeader :: Doc
- orMessages :: [(SrcSpan, Doc)]
- reportResult :: MonadIO m => (OutputResult -> m ()) -> Config -> [FilePath] -> Output Doc -> m ()
- diffcheck :: Config -> Bool
- printLiquidHaskellBanner :: IO ()
Get Command Line Configuration
Update Configuration With Pragma
Canonicalize Paths in Config
Exit Function
Reporting the output of the checking
data OutputResult Source #
OutputResult | |
|
reportResult :: MonadIO m => (OutputResult -> m ()) -> Config -> [FilePath] -> Output Doc -> m () Source #
Writes the annotations (i.e. the files in the ".liquid" hidden folder) and report the result of the checking using a supplied function.
Diff check mode
diffcheck :: Config -> Bool Source #
check subset of binders modified (+ dependencies) since last check
Show info about this version of LiquidHaskell
printLiquidHaskellBanner :: IO () Source #
Shows the LiquidHaskell banner, that includes things like the copyright, the git commit and the version.