Safe Haskell | Safe-Inferred |
---|---|
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 :: MonadIO m => Config -> FilePath -> [Located String] -> (Config -> m a) -> m a
- 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
withPragmas :: MonadIO m => Config -> FilePath -> [Located String] -> (Config -> m a) -> m a Source #
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 #
Write the annotations (i.e. the files in the ".liquid" hidden folder) and
report the result of the checking using a supplied function, or using an
implicit JSON function, if json
flag is set.
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.