- (improveAvails imp_mod iloc explicits
- is_unqual filtered_avails)
-
-
-improveAvails imp_mod iloc explicits is_unqual avails
- -- We 'improve' the provenance by setting
- -- (a) the import-reason field, so that the Name says how it came into scope
- -- including whether it's explicitly imported
- -- (b) the print-unqualified field
- = map improve_avail avails
- where
- improve_avail (Avail n) = Avail (improve n)
- improve_avail (AvailTC n ns) = AvailTC (improve n) (map improve ns)
-
- improve name = setNameProvenance name
- (NonLocalDef (UserImport imp_mod iloc (is_explicit name))
- (is_unqual name))
- is_explicit name = name `elemNameSet` explicits