definition: |
analyseModule :: Options -> String -> IO [TestModule] analyseModule opts modname = do putStrIfNormal opts $ withColor opts blue $ "Analyzing module '" ++ modname ++ "'...\n" let parserparams = if optVerb opts < 2 then setQuiet True defaultParams else defaultParams catch (readCurryWithParseOptions modname parserparams >>= analyseCurryProg opts modname) (\err -> return [staticErrorTestMod modname ["Module '" ++ modname ++ "': incorrect source program:\n" ++ "ERROR: " ++ show err]]) |
demand: |
no demanded arguments |
deterministic: |
deterministic operation |
documentation: |
-- This function implements the first phase of CurryCheck: it analyses -- a module to be checked, i.e., it finds the tests, creates new tests -- (e.g., for polymorphic properties, deterministic functions, post -- conditions, specifications) -- and generates a copy of the module appropriate for the main operation -- of CurryCheck (e.g., all operations are made public). -- If there are determinism tests, it also generates a second copy -- where all deterministic functions are defined as non-deterministic -- so that these definitions are tested. |
indeterministic: |
referentially transparent operation |
infix: |
no fixity defined |
name: |
analyseModule |
precedence: |
no precedence defined |
result-values: |
_ |
signature: |
CC.Options.Options -> String -> Prelude.IO [TestModule] |
solution-complete: |
operation might suspend on free variables |
terminating: |
possibly non-terminating |
totally-defined: |
possibly non-reducible on same data term |