definition: |
getInterfaceInfosWS :: (Read a, ReadWrite a) => CConfig -> IORef (ProgInfoStore a) -> String -> [String] -> IO (ProgInfo a) getInterfaceInfosWS _ _ _ [] = return emptyProgInfo getInterfaceInfosWS cc store anaName (mod:mods) = do loadinfos <- readIORef store modInfo <- maybe (loadAndStoreAnalysis loadinfos) return (Prelude.lookup mod loadinfos) modsInfo <- getInterfaceInfosWS cc store anaName mods return (combineProgInfo modInfo modsInfo) where loadAndStoreAnalysis loadinfos = do info <- loadPublicAnalysis (debugLevel cc) anaName mod writeIORef store ((mod,info):loadinfos) return info |
demand: |
argument 6 |
deterministic: |
deterministic operation |
documentation: |
-- Loads analysis results for a list of modules where already read results -- are stored in an IORef. |
failfree: |
<FAILING> |
indeterministic: |
referentially transparent operation |
infix: |
no fixity defined |
iotype: |
{(_,_,_,_,_,{[]}) |-> _ || (_,_,_,_,_,{:}) |-> _} |
name: |
getInterfaceInfosWS |
precedence: |
no precedence defined |
result-values: |
_ |
signature: |
(Prelude.Read a, RW.Base.ReadWrite a) => CASS.Configuration.CConfig -> Data.IORef.IORef [(String, Analysis.ProgInfo.ProgInfo a)] -> String -> [String] -> Prelude.IO (Analysis.ProgInfo.ProgInfo a) |
solution-complete: |
operation might suspend on free variables |
terminating: |
possibly non-terminating |
totally-defined: |
possibly non-reducible on same data term |