module GHC.Unit.Module.Imported
   ( ImportedMods
   , ImportedBy (..)
   , ImportedModsVal (..)
   , importedByUser
   )
where
import GHC.Prelude
import GHC.Unit.Module
import GHC.Types.Name.Reader
import GHC.Types.SafeHaskell
import GHC.Types.SrcLoc
type ImportedMods = ModuleEnv [ImportedBy]
data ImportedBy
    = ImportedByUser ImportedModsVal
    | ImportedBySystem
importedByUser :: [ImportedBy] -> [ImportedModsVal]
importedByUser :: [ImportedBy] -> [ImportedModsVal]
importedByUser (ImportedByUser ImportedModsVal
imv : [ImportedBy]
bys) = ImportedModsVal
imv ImportedModsVal -> [ImportedModsVal] -> [ImportedModsVal]
forall a. a -> [a] -> [a]
: [ImportedBy] -> [ImportedModsVal]
importedByUser [ImportedBy]
bys
importedByUser (ImportedBy
ImportedBySystem   : [ImportedBy]
bys) =       [ImportedBy] -> [ImportedModsVal]
importedByUser [ImportedBy]
bys
importedByUser [] = []
data ImportedModsVal = ImportedModsVal
   { ImportedModsVal -> ModuleName
imv_name        :: ModuleName
      
   , ImportedModsVal -> SrcSpan
imv_span        :: SrcSpan
      
   , ImportedModsVal -> IsSafeImport
imv_is_safe     :: IsSafeImport
      
   , ImportedModsVal -> IsSafeImport
imv_is_hiding   :: Bool
      
   , ImportedModsVal -> GlobalRdrEnv
imv_all_exports :: !GlobalRdrEnv
      
      
      
   , ImportedModsVal -> IsSafeImport
imv_qualified   :: Bool
      
   }