ghc- The GHC API

Safe HaskellNone




type Avails = [AvailInfo]Source

A collection of AvailInfo - several things that are "available"

data AvailInfo Source

Records what things are available, i.e. in scope


Avail Name

An ordinary identifier in scope

AvailTC Name [Name]

A type or class in scope. Parameters:

1) The name of the type or class 2) The available pieces of type or class.

The AvailTC Invariant: * If the type or class is itself to be in scope, it must be *first* in this list. Thus, typically: AvailTC Eq [Eq, ==, /=]

availName :: AvailInfo -> NameSource

Just the main name made available, i.e. not the available pieces of type or class brought into scope by the GenAvailInfo

availNames :: AvailInfo -> [Name]Source

All names made available by the availability information

stableAvailCmp :: AvailInfo -> AvailInfo -> OrderingSource

Compare lexicographically

gresFromAvails :: Provenance -> [AvailInfo] -> [GlobalRdrElt]Source

make a GlobalRdrEnv where all the elements point to the same Provenance (useful for hiding imports, or imports with no details).