Module CASS.Dependencies

Operations to handle dependencies of analysis files.

Author: Heiko Hoffmann, Michael Hanus

Version: January 2017

Summary of exported operations:

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

Exported operations:

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

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])]