module GHC.Unit.Finder.Types
   ( FinderCache
   , FindResult (..)
   , InstalledFindResult (..)
   )
where
import GHC.Prelude
import GHC.Unit
import GHC.Unit.State
type FinderCache = InstalledModuleEnv InstalledFindResult
data InstalledFindResult
  = InstalledFound ModLocation InstalledModule
  | InstalledNoPackage UnitId
  | InstalledNotFound [FilePath] (Maybe UnitId)
data FindResult
  = Found ModLocation Module
        
  | NoPackage Unit
        
  | FoundMultiple [(Module, ModuleOrigin)]
        
        
  | NotFound
      { FindResult -> [FilePath]
fr_paths       :: [FilePath]       
      , FindResult -> Maybe Unit
fr_pkg         :: Maybe Unit       
                                           
                                           
      , FindResult -> [Unit]
fr_mods_hidden :: [Unit]           
                                           
      , FindResult -> [Unit]
fr_pkgs_hidden :: [Unit]           
                                           
        
      , FindResult -> [(Unit, UnusableUnitReason)]
fr_unusables   :: [(Unit, UnusableUnitReason)]
      , FindResult -> [ModuleSuggestion]
fr_suggestions :: [ModuleSuggestion] 
      }