Safe Haskell | None |
---|---|
Language | Haskell2010 |
The private types
- newtype FilePathPtr = FilePathPtr {
- filePathPtr :: Int
- newtype IdPropPtr = IdPropPtr {}
- type UseSites = Strict (Map IdPropPtr) [SourceSpan]
- data IdNameSpace
- data IdInfo = IdInfo {}
- data IdProp = IdProp {
- idName :: !Text
- idSpace :: !IdNameSpace
- idType :: !(Strict Maybe Type)
- idDefinedIn :: !ModuleId
- idDefSpan :: !EitherSpan
- idHomeModule :: !(Strict Maybe ModuleId)
- data IdScope
- = Binder
- | Local
- | Imported {
- idImportedFrom :: !ModuleId
- idImportSpan :: !EitherSpan
- idImportQual :: !Text
- | WiredIn
- data SourceSpan = SourceSpan {
- spanFilePath :: !FilePathPtr
- spanFromLine :: !Int
- spanFromColumn :: !Int
- spanToLine :: !Int
- spanToColumn :: !Int
- data EitherSpan
- = ProperSpan !SourceSpan
- | TextSpan !Text
- data SourceError = SourceError {
- errorKind :: !SourceErrorKind
- errorSpan :: !EitherSpan
- errorMsg :: !Text
- data SourceErrorKind
- type ModuleName = Text
- data ModuleId = ModuleId {}
- data PackageId = PackageId {
- packageName :: !Text
- packageVersion :: !(Strict Maybe Text)
- packageKey :: !Text
- type IdList = [(SourceSpan, SpanInfo)]
- newtype IdMap = IdMap {}
- newtype ExpMap = ExpMap {}
- data SpanInfo
- data ImportEntities
- = ImportOnly !(Strict [] Text)
- | ImportHiding !(Strict [] Text)
- | ImportAll
- data Import = Import {
- importModule :: !ModuleId
- importPackage :: !(Strict Maybe Text)
- importQualified :: !Bool
- importImplicit :: !Bool
- importAs :: !(Strict Maybe ModuleName)
- importEntities :: !ImportEntities
- data RunResult
- data BreakInfo = BreakInfo {}
- data ExplicitSharingCache = ExplicitSharingCache {
- filePathCache :: !(Strict IntMap ByteString)
- idPropCache :: !(Strict IntMap IdProp)
- unionCache :: ExplicitSharingCache -> ExplicitSharingCache -> ExplicitSharingCache
- mkIdMap :: IdList -> IdMap
- mkExpMap :: [(SourceSpan, Text)] -> ExpMap
- dominators :: SourceSpan -> StrictIntervalMap (FilePathPtr, Int, Int) a -> [(SourceSpan, a)]
Types without a public counterpart
newtype FilePathPtr Source
Types with a public counterpart
data IdNameSpace Source
Identifiers in Haskell are drawn from a number of different name spaces
IdProp | |
|
Binder | This is a binding occurrence ( |
Local | Defined within this module |
Imported | Imported from a different module |
| |
WiredIn | Wired into the compiler ( |
data SourceSpan Source
SourceSpan | |
|
data EitherSpan Source
data SourceError Source
SourceError | |
|
data SourceErrorKind Source
Severity of an error.
type ModuleName = Text Source
PackageId | |
|
type IdList = [(SourceSpan, SpanInfo)] Source
Used before we convert it to an IdMap
data ImportEntities Source
ImportOnly !(Strict [] Text) | |
ImportHiding !(Strict [] Text) | |
ImportAll |
Import | |
|
The outcome of running code
RunOk | The code terminated okay |
RunProgException String | The code threw an exception |
RunGhcException String | GHC itself threw an exception when we tried to run the code |
RunBreak BreakInfo | Execution was paused because of a breakpoint |
Information about a triggered breakpoint
Cache
Util
mkExpMap :: [(SourceSpan, Text)] -> ExpMap Source
dominators :: SourceSpan -> StrictIntervalMap (FilePathPtr, Int, Int) a -> [(SourceSpan, a)] Source