hiedb-0.4.3.0: Generates a references DB from .hie files
Safe HaskellSafe-Inferred
LanguageHaskell2010

HieDb.Types

Synopsis

Documentation

newtype HieDb #

Constructors

HieDb 

Fields

data HieDbException #

Constructors

IncompatibleSchemaVersion 

Fields

Instances

Instances details
Exception HieDbException # 
Instance details

Defined in HieDb.Types

Methods

toException :: HieDbException -> SomeException

fromException :: SomeException -> Maybe HieDbException

displayException :: HieDbException -> String

Show HieDbException # 
Instance details

Defined in HieDb.Types

Methods

showsPrec :: Int -> HieDbException -> ShowS

show :: HieDbException -> String

showList :: [HieDbException] -> ShowS

Eq HieDbException # 
Instance details

Defined in HieDb.Types

Ord HieDbException # 
Instance details

Defined in HieDb.Types

setHieTrace :: HieDb -> Maybe (Text -> IO ()) -> IO () #

data SourceFile #

Encodes the original haskell source file of a module, along with whether it is "real" or not A file is "real" if it comes from the user project, as opposed to a dependency

Constructors

RealFile FilePath 
FakeFile (Maybe FilePath) 

data ModuleInfo #

Constructors

ModuleInfo 

Fields

  • modInfoName :: ModuleName
     
  • modInfoUnit :: Unit

    Identifies the package this module is part of

  • modInfoIsBoot :: Bool

    True, when this ModuleInfo was created by indexing .hie-boot file; False when it was created from .hie file

  • modInfoSrcFile :: Maybe FilePath

    The path to the haskell source file, from which the .hie file was created

  • modInfoIsReal :: Bool

    Is this a real source file? I.e. does it come from user's project (as opposed to from project's dependency)?

  • modInfoHash :: Fingerprint

    The hash of the .hie file from which this ModuleInfo was created

Instances

Instances details
Show ModuleInfo # 
Instance details

Defined in HieDb.Types

Methods

showsPrec :: Int -> ModuleInfo -> ShowS

show :: ModuleInfo -> String

showList :: [ModuleInfo] -> ShowS

Eq ModuleInfo # 
Instance details

Defined in HieDb.Types

Methods

(==) :: ModuleInfo -> ModuleInfo -> Bool

(/=) :: ModuleInfo -> ModuleInfo -> Bool

FromRow ModuleInfo # 
Instance details

Defined in HieDb.Types

ToRow ModuleInfo # 
Instance details

Defined in HieDb.Types

Methods

toRow :: ModuleInfo -> [SQLData] #

type Res a = a :. ModuleInfo #

toNsChar :: NameSpace -> Char #

fromNsChar :: Char -> Maybe NameSpace #

data HieModuleRow #

Constructors

HieModuleRow 

Fields

Instances

Instances details
Show HieModuleRow # 
Instance details

Defined in HieDb.Types

Methods

showsPrec :: Int -> HieModuleRow -> ShowS

show :: HieModuleRow -> String

showList :: [HieModuleRow] -> ShowS

Eq HieModuleRow # 
Instance details

Defined in HieDb.Types

Methods

(==) :: HieModuleRow -> HieModuleRow -> Bool

(/=) :: HieModuleRow -> HieModuleRow -> Bool

FromRow HieModuleRow # 
Instance details

Defined in HieDb.Types

ToRow HieModuleRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: HieModuleRow -> [SQLData] #

data RefRow #

Constructors

RefRow 

Fields

Instances

Instances details
FromRow RefRow # 
Instance details

Defined in HieDb.Types

ToRow RefRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: RefRow -> [SQLData] #

data DeclRow #

Constructors

DeclRow 

Fields

Instances

Instances details
FromRow DeclRow # 
Instance details

Defined in HieDb.Types

ToRow DeclRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: DeclRow -> [SQLData] #

data TypeName #

Constructors

TypeName 

data TypeRef #

Constructors

TypeRef 

Fields

Instances

Instances details
FromRow TypeRef # 
Instance details

Defined in HieDb.Types

ToRow TypeRef # 
Instance details

Defined in HieDb.Types

Methods

toRow :: TypeRef -> [SQLData] #

data DefRow #

Constructors

DefRow 

Fields

Instances

Instances details
FromRow DefRow # 
Instance details

Defined in HieDb.Types

ToRow DefRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: DefRow -> [SQLData] #

data ExportRow #

Constructors

ExportRow 

Fields

Instances

Instances details
FromRow ExportRow # 
Instance details

Defined in HieDb.Types

ToRow ExportRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: ExportRow -> [SQLData] #

class Monad m => NameCacheMonad m where #

Monad with access to NameCacheUpdater, which is needed to deserialize .hie files

Instances

Instances details
MonadIO m => NameCacheMonad (DbMonadT m) # 
Instance details

Defined in HieDb.Types

newtype DbMonadT m a #

Constructors

DbMonadT 

Fields

Instances

Instances details
MonadTrans DbMonadT # 
Instance details

Defined in HieDb.Types

Methods

lift :: Monad m => m a -> DbMonadT m a #

MonadIO m => MonadIO (DbMonadT m) # 
Instance details

Defined in HieDb.Types

Methods

liftIO :: IO a -> DbMonadT m a

Monad m => Applicative (DbMonadT m) # 
Instance details

Defined in HieDb.Types

Methods

pure :: a -> DbMonadT m a

(<*>) :: DbMonadT m (a -> b) -> DbMonadT m a -> DbMonadT m b

liftA2 :: (a -> b -> c) -> DbMonadT m a -> DbMonadT m b -> DbMonadT m c

(*>) :: DbMonadT m a -> DbMonadT m b -> DbMonadT m b

(<*) :: DbMonadT m a -> DbMonadT m b -> DbMonadT m a

Monad m => Functor (DbMonadT m) # 
Instance details

Defined in HieDb.Types

Methods

fmap :: (a -> b) -> DbMonadT m a -> DbMonadT m b

(<$) :: a -> DbMonadT m b -> DbMonadT m a

Monad m => Monad (DbMonadT m) # 
Instance details

Defined in HieDb.Types

Methods

(>>=) :: DbMonadT m a -> (a -> DbMonadT m b) -> DbMonadT m b

(>>) :: DbMonadT m a -> DbMonadT m b -> DbMonadT m b

return :: a -> DbMonadT m a

MonadIO m => NameCacheMonad (DbMonadT m) # 
Instance details

Defined in HieDb.Types

type DbMonad = DbMonadT IO #

runDbM :: IORef NameCache -> DbMonad a -> IO a #

data Symbol #

Constructors

Symbol 

Fields

Instances

Instances details
Read Symbol # 
Instance details

Defined in HieDb.Types

Methods

readsPrec :: Int -> ReadS Symbol

readList :: ReadS [Symbol]

readPrec :: ReadPrec Symbol

readListPrec :: ReadPrec [Symbol]

Show Symbol # 
Instance details

Defined in HieDb.Types

Methods

showsPrec :: Int -> Symbol -> ShowS

show :: Symbol -> String

showList :: [Symbol] -> ShowS

Eq Symbol # 
Instance details

Defined in HieDb.Types

Methods

(==) :: Symbol -> Symbol -> Bool

(/=) :: Symbol -> Symbol -> Bool

Ord Symbol # 
Instance details

Defined in HieDb.Types

Methods

compare :: Symbol -> Symbol -> Ordering

(<) :: Symbol -> Symbol -> Bool

(<=) :: Symbol -> Symbol -> Bool

(>) :: Symbol -> Symbol -> Bool

(>=) :: Symbol -> Symbol -> Bool

max :: Symbol -> Symbol -> Symbol

min :: Symbol -> Symbol -> Symbol

readColon :: ReadP () #

newtype LibDir #

GHC Library Directory. Typically you'll want to use libdir from ghc-paths

Constructors

LibDir FilePath 

type HieTarget = Either FilePath (ModuleName, Maybe Unit) #

A way to specify which HieFile to operate on. Either the path to .hie file is given in the Left Or ModuleName (with optional Unit) is given in the Right

Orphan instances

FromField Fingerprint # 
Instance details

FromField OccName # 
Instance details

FromField Unit # 
Instance details

FromField ModuleName # 
Instance details

FromRow ModuleName # 
Instance details

ToField Fingerprint # 
Instance details

ToField OccName # 
Instance details

Methods

toField :: OccName -> SQLData #

ToField Unit # 
Instance details

Methods

toField :: Unit -> SQLData #

ToField ModuleName # 
Instance details