Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
GHC.Iface.Ext.Binary
Synopsis
- readHieFile :: NameCacheUpdater -> FilePath -> IO HieFileResult
- readHieFileWithVersion :: (HieHeader -> Bool) -> NameCacheUpdater -> FilePath -> IO (Either HieHeader HieFileResult)
- type HieHeader = (Integer, ByteString)
- writeHieFile :: FilePath -> HieFile -> IO ()
- data HieName
- toHieName :: Name -> HieName
- data HieFileResult = HieFileResult {}
- hieMagic :: [Word8]
- hieNameOcc :: HieName -> OccName
- newtype NameCacheUpdater = NCU {
- updateNameCache :: forall c. (NameCache -> (NameCache, c)) -> IO c
Documentation
readHieFile :: NameCacheUpdater -> FilePath -> IO HieFileResult Source #
readHieFileWithVersion :: (HieHeader -> Bool) -> NameCacheUpdater -> FilePath -> IO (Either HieHeader HieFileResult) Source #
type HieHeader = (Integer, ByteString) Source #
writeHieFile :: FilePath -> HieFile -> IO () Source #
Write a HieFile
to the given FilePath
, with a proper header and
symbol tables for Name
s and FastString
s
Name
's get converted into HieName
's before being written into .hie
files. See toHieName
and fromHieName
for logic on how to convert between
these two types.
Constructors
ExternalName !Module !OccName !SrcSpan | |
LocalName !OccName !SrcSpan | |
KnownKeyName !Unique |
data HieFileResult Source #
Constructors
HieFileResult | |
hieNameOcc :: HieName -> OccName Source #
newtype NameCacheUpdater Source #
A function that atomically updates the name cache given a modifier function. The second result of the modifier function will be the result of the IO action.
Constructors
NCU | |
Fields
|