Module CASS.Dependencies

Operations to handle dependencies of analysis files.

Author: Heiko Hoffmann, Michael Hanus

Version: April 2021

Summary of exported operations:

getModulesToAnalyze :: CConfig -> Bool -> Analysis a -> String -> IO [(String,[String])]  Non-deterministic 
Compute the modules and their imports which must be analyzed w.r.t.
reduceDependencies :: [(String,[String])] -> [String] -> [(String,[String])]  Deterministic 

Exported operations:

getModulesToAnalyze :: CConfig -> Bool -> Analysis a -> String -> IO [(String,[String])]  Non-deterministic 

Compute the modules and their imports which must be analyzed w.r.t. a given analysis and main module. If the first argument is true, then the analysis is enforced (even if analysis information exists).

reduceDependencies :: [(String,[String])] -> [String] -> [(String,[String])]  Deterministic