ghcide-2.4.0.0: The core of an IDE

Safe Haskell | Safe-Inferred
Language | Haskell2010

Development.IDE.Core.RuleTypes

Description

A Shake implementation of the compiler service, built using the Shaker abstraction layer for in-memory use.

Synopsis

- newtype GhcSessionDeps where
  - GhcSessionDeps_ {
    - fullModSummary :: Bool
    }
  - pattern GhcSessionDeps :: GhcSessionDeps
- data FileOfInterestStatus
  - = OnDisk
  - | Modified {
    - firstOpen :: !Bool
    }
- data GenerateCore = GenerateCore
- data GetHieAst = GetHieAst
- data TypeCheck = TypeCheck
- data IdeGhcSession = IdeGhcSession {
  - loadSessionFun :: FilePath -> IO (IdeResult HscEnvEq, [FilePath])
  - sessionVersion :: !Int
  }
- data GetParsedModule = GetParsedModule
- data GhcSessionIO = GhcSessionIO
- data GetClientSettings = GetClientSettings
- newtype GhcSessionDeps = GhcSessionDeps_ {
  - fullModSummary :: Bool
  }
- newtype GetModificationTime = GetModificationTime_ {
  - missingFileDiagnostics :: Bool
  }
- data FileVersion
  - = ModificationTime !POSIXTime
  - | VFSVersion !Int32
- data TcModuleResult = TcModuleResult {
  - tmrParsed :: ParsedModule
  - tmrRenamed :: RenamedSource
  - tmrTypechecked :: TcGblEnv
  - tmrTopLevelSplices :: Splices
  - tmrDeferredError :: !Bool
  - tmrRuntimeModules :: !(ModuleEnv ByteString)
  }
- data GhcSession = GhcSession
- data GetFileExists = GetFileExists
- newtype ImportMap = ImportMap {
  - importMap :: Map ModuleName NormalizedFilePath
  }
- data LinkableType
  - = ObjectLinkable
  - | BCOLinkable
- data GetParsedModuleWithComments = GetParsedModuleWithComments
- data GetModuleGraph = GetModuleGraph
- data GetKnownTargets = GetKnownTargets
- data GetLinkable = GetLinkable
- data LinkableResult = LinkableResult {
  - linkableHomeMod :: !HomeModInfo
  - linkableHash :: !ByteString
  }
- data GetImportMap = GetImportMap
- data Splices = Splices {
  - exprSplices :: [(LHsExpr GhcTc, LHsExpr GhcPs)]
  - patSplices :: [(LHsExpr GhcTc, LPat GhcPs)]
  - typeSplices :: [(LHsExpr GhcTc, LHsType GhcPs)]
  - declSplices :: [(LHsExpr GhcTc, [LHsDecl GhcPs])]
  - awSplices :: [(LHsExpr GhcTc, Serialized)]
  }
- data HiFileResult = HiFileResult {
  - hirModSummary :: !ModSummary
  - hirModIface :: !ModIface
  - hirModDetails :: ModDetails
  - hirIfaceFp :: !ByteString
  - hirRuntimeModules :: !(ModuleEnv ByteString)
  - hirCoreFp :: !(Maybe (CoreFile, ByteString))
  }
- data HieAstResult = forall a.Typeable a => HAR {
  - hieModule :: Module
  - hieAst :: !(HieASTs a)
  - refMap :: RefMap a
  - typeRefs :: Map Name [RealSrcSpan]
  - hieKind :: !(HieKind a)
  }
- data HieKind a where
  - HieFromDisk :: !HieFile -> HieKind TypeIndex
  - HieFresh :: HieKind Type
- data GetBindings = GetBindings
- data DocAndKindMap = DKMap {
  - getDocMap :: !DocMap
  - getKindMap :: !KindMap
  }
- data GetDocMap = GetDocMap
- data GetLocatedImports = GetLocatedImports
- data ReportImportCycles = ReportImportCycles
- data GetModIfaceFromDisk = GetModIfaceFromDisk
- data GetModIfaceFromDiskAndIndex = GetModIfaceFromDiskAndIndex
- data GetModIface = GetModIface
- data GetFileContents = GetFileContents
- data AddWatchedFile = AddWatchedFile
- data IsFileOfInterestResult
  - = NotFOI
  - | IsFOI FileOfInterestStatus
- data IsFileOfInterest = IsFileOfInterest
- data ModSummaryResult = ModSummaryResult {
  - msrModSummary :: !ModSummary
  - msrImports :: [LImportDecl GhcPs]
  - msrFingerprint :: !Fingerprint
  - msrHscEnv :: !HscEnv
  }
- data GetModSummary = GetModSummary
- data GetModSummaryWithoutTimestamps = GetModSummaryWithoutTimestamps
- data NeedsCompilation = NeedsCompilation
- pattern GhcSessionDeps :: GhcSessionDeps
- pattern GetModificationTime :: GetModificationTime
- encodeLinkableType :: Maybe LinkableType -> ByteString
- tmrModSummary :: TcModuleResult -> ModSummary
- hiFileFingerPrint :: HiFileResult -> ByteString
- mkHiFileResult :: ModSummary -> ModIface -> ModDetails -> ModuleEnv ByteString -> Maybe (CoreFile, ByteString) -> HiFileResult
- vfsVersion :: FileVersion -> Maybe Int32
- awSplicesL :: Lens' Splices [(LHsExpr GhcTc, Serialized)]
- declSplicesL :: Lens' Splices [(LHsExpr GhcTc, [LHsDecl GhcPs])]
- exprSplicesL :: Lens' Splices [(LHsExpr GhcTc, LHsExpr GhcPs)]
- patSplicesL :: Lens' Splices [(LHsExpr GhcTc, LPat GhcPs)]
- typeSplicesL :: Lens' Splices [(LHsExpr GhcTc, LHsType GhcPs)]

# Documentation

newtype GhcSessionDeps #

Constructors

GhcSessionDeps_ |

Fields

- fullModSummary :: Bool

  Load full ModSummary values in the GHC session. Required for interactive evaluation, but leads to more cache invalidations

Bundled Patterns

pattern GhcSessionDeps :: GhcSessionDeps |

#### Instances

Instances details

Show GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GhcSessionDeps -> ShowS # show :: GhcSessionDeps -> String # showList :: [GhcSessionDeps] -> ShowS #
NFData GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GhcSessionDeps -> () #
Eq GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GhcSessionDeps -> GhcSessionDeps -> Bool # (/=) :: GhcSessionDeps -> GhcSessionDeps -> Bool #
Hashable GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GhcSessionDeps -> Int # hash :: GhcSessionDeps -> Int #
type RuleResult GhcSessionDeps # | A GHC session preloaded with all the dependencies This rule is also responsible for calling ReportImportCycles for the direct dependencies
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GhcSessionDeps = HscEnvEq

data FileOfInterestStatus #

Constructors

OnDisk |
Modified |

Fields

- firstOpen :: !Bool

  was this file just opened

#### Instances

Instances details

Generic FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep FileOfInterestStatus :: Type -> Type Methods from :: FileOfInterestStatus -> Rep FileOfInterestStatus x to :: Rep FileOfInterestStatus x -> FileOfInterestStatus
Show FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> FileOfInterestStatus -> ShowS # show :: FileOfInterestStatus -> String # showList :: [FileOfInterestStatus] -> ShowS #
NFData FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: FileOfInterestStatus -> () #
Eq FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: FileOfInterestStatus -> FileOfInterestStatus -> Bool # (/=) :: FileOfInterestStatus -> FileOfInterestStatus -> Bool #
Hashable FileOfInterestStatus # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> FileOfInterestStatus -> Int # hash :: FileOfInterestStatus -> Int #
type Rep FileOfInterestStatus # |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep FileOfInterestStatus = D1 ('MetaData "FileOfInterestStatus" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "OnDisk" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Modified" 'PrefixI 'True) (S1 ('MetaSel ('Just "firstOpen") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))

data GenerateCore #

Constructors

GenerateCore |

#### Instances

Instances details

Generic GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GenerateCore :: Type -> Type Methods from :: GenerateCore -> Rep GenerateCore x to :: Rep GenerateCore x -> GenerateCore
Show GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GenerateCore -> ShowS # show :: GenerateCore -> String # showList :: [GenerateCore] -> ShowS #
NFData GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GenerateCore -> () #
Eq GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GenerateCore -> GenerateCore -> Bool # (/=) :: GenerateCore -> GenerateCore -> Bool #
Hashable GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GenerateCore -> Int # hash :: GenerateCore -> Int #
type Rep GenerateCore # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GenerateCore = D1 ('MetaData "GenerateCore" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GenerateCore" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GenerateCore # | Convert to Core, requires TypeCheck*
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GenerateCore = ModGuts

data GetHieAst #

Constructors

GetHieAst |

#### Instances

Instances details

Generic GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetHieAst :: Type -> Type Methods from :: GetHieAst -> Rep GetHieAst x to :: Rep GetHieAst x -> GetHieAst
Show GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetHieAst -> ShowS # show :: GetHieAst -> String # showList :: [GetHieAst] -> ShowS #
NFData GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetHieAst -> () #
Eq GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetHieAst -> GetHieAst -> Bool # (/=) :: GetHieAst -> GetHieAst -> Bool #
Hashable GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetHieAst -> Int # hash :: GetHieAst -> Int #
type Rep GetHieAst # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetHieAst = D1 ('MetaData "GetHieAst" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetHieAst" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetHieAst # | The uncompressed HieAST
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetHieAst = HieAstResult

data TypeCheck #

Constructors

TypeCheck |

#### Instances

Instances details

Generic TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep TypeCheck :: Type -> Type Methods from :: TypeCheck -> Rep TypeCheck x to :: Rep TypeCheck x -> TypeCheck
Show TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> TypeCheck -> ShowS # show :: TypeCheck -> String # showList :: [TypeCheck] -> ShowS #
NFData TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: TypeCheck -> () #
Eq TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: TypeCheck -> TypeCheck -> Bool # (/=) :: TypeCheck -> TypeCheck -> Bool #
Hashable TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> TypeCheck -> Int # hash :: TypeCheck -> Int #
type Rep TypeCheck # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep TypeCheck = D1 ('MetaData "TypeCheck" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "TypeCheck" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult TypeCheck # | The type checked version of this file, requires TypeCheck+
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult TypeCheck = TcModuleResult

data IdeGhcSession #

Constructors

IdeGhcSession |

Fields

- loadSessionFun :: FilePath -> IO (IdeResult HscEnvEq, [FilePath])

  Returns the Ghc session and the cradle dependencies

- sessionVersion :: !Int

  Used as Shake key, versions must be unique and not reused

#### Instances

Instances details

Show IdeGhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> IdeGhcSession -> ShowS # show :: IdeGhcSession -> String # showList :: [IdeGhcSession] -> ShowS #
NFData IdeGhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: IdeGhcSession -> () #

data GetParsedModule #

Constructors

GetParsedModule |

#### Instances

Instances details

Generic GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetParsedModule :: Type -> Type Methods from :: GetParsedModule -> Rep GetParsedModule x to :: Rep GetParsedModule x -> GetParsedModule
Show GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetParsedModule -> ShowS # show :: GetParsedModule -> String # showList :: [GetParsedModule] -> ShowS #
NFData GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetParsedModule -> () #
Eq GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetParsedModule -> GetParsedModule -> Bool # (/=) :: GetParsedModule -> GetParsedModule -> Bool #
Hashable GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetParsedModule -> Int # hash :: GetParsedModule -> Int #
type Rep GetParsedModule # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetParsedModule = D1 ('MetaData "GetParsedModule" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetParsedModule" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetParsedModule # | The parse tree for the file using GetFileContents
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetParsedModule = ParsedModule

data GhcSessionIO #

Constructors

GhcSessionIO |

#### Instances

Instances details

Generic GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GhcSessionIO :: Type -> Type Methods from :: GhcSessionIO -> Rep GhcSessionIO x to :: Rep GhcSessionIO x -> GhcSessionIO
Show GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GhcSessionIO -> ShowS # show :: GhcSessionIO -> String # showList :: [GhcSessionIO] -> ShowS #
NFData GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GhcSessionIO -> () #
Eq GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GhcSessionIO -> GhcSessionIO -> Bool # (/=) :: GhcSessionIO -> GhcSessionIO -> Bool #
Hashable GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GhcSessionIO -> Int # hash :: GhcSessionIO -> Int #
type Rep GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GhcSessionIO = D1 ('MetaData "GhcSessionIO" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GhcSessionIO" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GhcSessionIO # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GhcSessionIO = IdeGhcSession

data GetClientSettings #

Get the client config stored in the ide state

Constructors

GetClientSettings |

#### Instances

Instances details

Generic GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetClientSettings :: Type -> Type Methods from :: GetClientSettings -> Rep GetClientSettings x to :: Rep GetClientSettings x -> GetClientSettings
Show GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetClientSettings -> ShowS # show :: GetClientSettings -> String # showList :: [GetClientSettings] -> ShowS #
NFData GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetClientSettings -> () #
Eq GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetClientSettings -> GetClientSettings -> Bool # (/=) :: GetClientSettings -> GetClientSettings -> Bool #
Hashable GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetClientSettings -> Int # hash :: GetClientSettings -> Int #
type Rep GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetClientSettings = D1 ('MetaData "GetClientSettings" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetClientSettings" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetClientSettings # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetClientSettings = Hashed (Maybe Value)

newtype GhcSessionDeps #

Constructors

GhcSessionDeps_ |

Fields

- fullModSummary :: Bool

  Load full ModSummary values in the GHC session. Required for interactive evaluation, but leads to more cache invalidations

#### Instances

Instances details

Show GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GhcSessionDeps -> ShowS # show :: GhcSessionDeps -> String # showList :: [GhcSessionDeps] -> ShowS #
NFData GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GhcSessionDeps -> () #
Eq GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GhcSessionDeps -> GhcSessionDeps -> Bool # (/=) :: GhcSessionDeps -> GhcSessionDeps -> Bool #
Hashable GhcSessionDeps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GhcSessionDeps -> Int # hash :: GhcSessionDeps -> Int #
type RuleResult GhcSessionDeps # | A GHC session preloaded with all the dependencies This rule is also responsible for calling ReportImportCycles for the direct dependencies
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GhcSessionDeps = HscEnvEq

newtype GetModificationTime #

Constructors

GetModificationTime_ |

Fields

- missingFileDiagnostics :: Bool

  If false, missing file diagnostics are not reported

#### Instances

Instances details

Generic GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetModificationTime :: Type -> Type Methods from :: GetModificationTime -> Rep GetModificationTime x to :: Rep GetModificationTime x -> GetModificationTime
Show GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModificationTime -> ShowS # show :: GetModificationTime -> String # showList :: [GetModificationTime] -> ShowS #
NFData GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModificationTime -> () #
Eq GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModificationTime -> GetModificationTime -> Bool # (/=) :: GetModificationTime -> GetModificationTime -> Bool #
Hashable GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModificationTime -> Int # hash :: GetModificationTime -> Int #
type Rep GetModificationTime # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModificationTime = D1 ('MetaData "GetModificationTime" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'True) (C1 ('MetaCons "GetModificationTime_" 'PrefixI 'True) (S1 ('MetaSel ('Just "missingFileDiagnostics") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
type RuleResult GetModificationTime # | Get the modification time of a file.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModificationTime = FileVersion

data FileVersion #

Either the mtime from disk or an LSP version LSP versions always compare as greater than on disk versions

Constructors

ModificationTime !POSIXTime |
VFSVersion !Int32 |

#### Instances

Instances details

Generic FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep FileVersion :: Type -> Type Methods from :: FileVersion -> Rep FileVersion x to :: Rep FileVersion x -> FileVersion
Show FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> FileVersion -> ShowS # show :: FileVersion -> String # showList :: [FileVersion] -> ShowS #
NFData FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: FileVersion -> () #
Eq FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: FileVersion -> FileVersion -> Bool # (/=) :: FileVersion -> FileVersion -> Bool #
Ord FileVersion # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods compare :: FileVersion -> FileVersion -> Ordering (<) :: FileVersion -> FileVersion -> Bool (<=) :: FileVersion -> FileVersion -> Bool (>) :: FileVersion -> FileVersion -> Bool (>=) :: FileVersion -> FileVersion -> Bool max :: FileVersion -> FileVersion -> FileVersion min :: FileVersion -> FileVersion -> FileVersion
type Rep FileVersion # |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep FileVersion = D1 ('MetaData "FileVersion" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "ModificationTime" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 POSIXTime)) :+: C1 ('MetaCons "VFSVersion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int32)))

data TcModuleResult #

Contains the typechecked module and the OrigNameCache entry for that module.

Constructors

TcModuleResult |

Fields

- tmrParsed :: ParsedModule
- tmrRenamed :: RenamedSource
- tmrTypechecked :: TcGblEnv
- tmrTopLevelSplices :: Splices

  Typechecked splice information

- tmrDeferredError :: !Bool

  Did we defer any type errors for this module?

- tmrRuntimeModules :: !(ModuleEnv ByteString)

  Which modules did we need at runtime while compiling this file? Used for recompilation checking in the presence of TH Stores the hash of their core file

#### Instances

Instances details

Show TcModuleResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> TcModuleResult -> ShowS # show :: TcModuleResult -> String # showList :: [TcModuleResult] -> ShowS #
NFData TcModuleResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: TcModuleResult -> () #

data GhcSession #

Constructors

GhcSession |

#### Instances

Instances details

Generic GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GhcSession :: Type -> Type Methods from :: GhcSession -> Rep GhcSession x to :: Rep GhcSession x -> GhcSession
Show GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GhcSession -> ShowS # show :: GhcSession -> String # showList :: [GhcSession] -> ShowS #
NFData GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GhcSession -> () #
Eq GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GhcSession -> GhcSession -> Bool # (/=) :: GhcSession -> GhcSession -> Bool #
Hashable GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GhcSession -> Int # hash :: GhcSession -> Int #
type Rep GhcSession # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GhcSession = D1 ('MetaData "GhcSession" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GhcSession" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GhcSession # | A GHC session that we reuse.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GhcSession = HscEnvEq

data GetFileExists #

Constructors

GetFileExists |

#### Instances

Instances details

Generic GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetFileExists :: Type -> Type Methods from :: GetFileExists -> Rep GetFileExists x to :: Rep GetFileExists x -> GetFileExists
Show GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetFileExists -> ShowS # show :: GetFileExists -> String # showList :: [GetFileExists] -> ShowS #
NFData GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetFileExists -> () #
Eq GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetFileExists -> GetFileExists -> Bool # (/=) :: GetFileExists -> GetFileExists -> Bool #
Hashable GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetFileExists -> Int # hash :: GetFileExists -> Int #
type Rep GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetFileExists = D1 ('MetaData "GetFileExists" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetFileExists" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetFileExists # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetFileExists = Bool

newtype ImportMap #

Constructors

ImportMap |

Fields

- importMap :: Map ModuleName NormalizedFilePath

  Where are the modules imported by this file located?

#### Instances

Instances details

Show ImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> ImportMap -> ShowS # show :: ImportMap -> String # showList :: [ImportMap] -> ShowS #
NFData ImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: ImportMap -> () #

data LinkableType #

Constructors

ObjectLinkable |
BCOLinkable |

#### Instances

Instances details

Generic LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep LinkableType :: Type -> Type Methods from :: LinkableType -> Rep LinkableType x to :: Rep LinkableType x -> LinkableType
Show LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> LinkableType -> ShowS # show :: LinkableType -> String # showList :: [LinkableType] -> ShowS #
NFData LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: LinkableType -> () #
Eq LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: LinkableType -> LinkableType -> Bool # (/=) :: LinkableType -> LinkableType -> Bool #
Ord LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods compare :: LinkableType -> LinkableType -> Ordering (<) :: LinkableType -> LinkableType -> Bool (<=) :: LinkableType -> LinkableType -> Bool (>) :: LinkableType -> LinkableType -> Bool (>=) :: LinkableType -> LinkableType -> Bool max :: LinkableType -> LinkableType -> LinkableType min :: LinkableType -> LinkableType -> LinkableType
Hashable LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> LinkableType -> Int # hash :: LinkableType -> Int #
type Rep LinkableType # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep LinkableType = D1 ('MetaData "LinkableType" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "ObjectLinkable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCOLinkable" 'PrefixI 'False) (U1 :: Type -> Type))

data GetParsedModuleWithComments #

Constructors

GetParsedModuleWithComments |

#### Instances

Instances details

Generic GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetParsedModuleWithComments :: Type -> Type Methods from :: GetParsedModuleWithComments -> Rep GetParsedModuleWithComments x to :: Rep GetParsedModuleWithComments x -> GetParsedModuleWithComments
Show GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetParsedModuleWithComments -> ShowS # show :: GetParsedModuleWithComments -> String # showList :: [GetParsedModuleWithComments] -> ShowS #
NFData GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetParsedModuleWithComments -> () #
Eq GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetParsedModuleWithComments -> GetParsedModuleWithComments -> Bool # (/=) :: GetParsedModuleWithComments -> GetParsedModuleWithComments -> Bool #
Hashable GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetParsedModuleWithComments -> Int # hash :: GetParsedModuleWithComments -> Int #
type Rep GetParsedModuleWithComments # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetParsedModuleWithComments = D1 ('MetaData "GetParsedModuleWithComments" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetParsedModuleWithComments" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetParsedModuleWithComments # | The parse tree for the file using GetFileContents, all comments included using Opt_KeepRawTokenStream
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetParsedModuleWithComments = ParsedModule

data GetModuleGraph #

Constructors

GetModuleGraph |

#### Instances

Instances details

Generic GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetModuleGraph :: Type -> Type Methods from :: GetModuleGraph -> Rep GetModuleGraph x to :: Rep GetModuleGraph x -> GetModuleGraph
Show GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModuleGraph -> ShowS # show :: GetModuleGraph -> String # showList :: [GetModuleGraph] -> ShowS #
NFData GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModuleGraph -> () #
Eq GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModuleGraph -> GetModuleGraph -> Bool # (/=) :: GetModuleGraph -> GetModuleGraph -> Bool #
Hashable GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModuleGraph -> Int # hash :: GetModuleGraph -> Int #
type Rep GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModuleGraph = D1 ('MetaData "GetModuleGraph" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetModuleGraph" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModuleGraph # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModuleGraph = DependencyInformation

data GetKnownTargets #

Constructors

GetKnownTargets |

#### Instances

Instances details

Generic GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetKnownTargets :: Type -> Type Methods from :: GetKnownTargets -> Rep GetKnownTargets x to :: Rep GetKnownTargets x -> GetKnownTargets
Show GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetKnownTargets -> ShowS # show :: GetKnownTargets -> String # showList :: [GetKnownTargets] -> ShowS #
NFData GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetKnownTargets -> () #
Eq GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetKnownTargets -> GetKnownTargets -> Bool # (/=) :: GetKnownTargets -> GetKnownTargets -> Bool #
Ord GetKnownTargets # |

Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

compare :: GetKnownTargets -> GetKnownTargets -> Ordering

(<) :: GetKnownTargets -> GetKnownTargets -> Bool

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

(>) :: GetKnownTargets -> GetKnownTargets -> Bool

(>=) :: GetKnownTargets -> GetKnownTargets -> Bool

max :: GetKnownTargets -> GetKnownTargets -> GetKnownTargets

min :: GetKnownTargets -> GetKnownTargets -> GetKnownTargets

Hashable GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetKnownTargets -> Int # hash :: GetKnownTargets -> Int #
type Rep GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetKnownTargets = D1 ('MetaData "GetKnownTargets" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetKnownTargets" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetKnownTargets # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetKnownTargets = KnownTargets

data GetLinkable #

Constructors

GetLinkable |

#### Instances

Instances details

Generic GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetLinkable :: Type -> Type Methods from :: GetLinkable -> Rep GetLinkable x to :: Rep GetLinkable x -> GetLinkable
Show GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetLinkable -> ShowS # show :: GetLinkable -> String # showList :: [GetLinkable] -> ShowS #
NFData GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetLinkable -> () #
Eq GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetLinkable -> GetLinkable -> Bool # (/=) :: GetLinkable -> GetLinkable -> Bool #
Hashable GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetLinkable -> Int # hash :: GetLinkable -> Int #
type Rep GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetLinkable = D1 ('MetaData "GetLinkable" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetLinkable" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetLinkable # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetLinkable = LinkableResult

data LinkableResult #

Constructors

LinkableResult |

Fields

- linkableHomeMod :: !HomeModInfo
- linkableHash :: !ByteString

  The hash of the core file

#### Instances

Instances details

Show LinkableResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> LinkableResult -> ShowS # show :: LinkableResult -> String # showList :: [LinkableResult] -> ShowS #
NFData LinkableResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: LinkableResult -> () #

data GetImportMap #

Constructors

GetImportMap |

#### Instances

Instances details

Generic GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetImportMap :: Type -> Type Methods from :: GetImportMap -> Rep GetImportMap x to :: Rep GetImportMap x -> GetImportMap
Show GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetImportMap -> ShowS # show :: GetImportMap -> String # showList :: [GetImportMap] -> ShowS #
NFData GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetImportMap -> () #
Eq GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetImportMap -> GetImportMap -> Bool # (/=) :: GetImportMap -> GetImportMap -> Bool #
Hashable GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetImportMap -> Int # hash :: GetImportMap -> Int #
type Rep GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetImportMap = D1 ('MetaData "GetImportMap" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetImportMap" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetImportMap # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetImportMap = ImportMap

data Splices #

Constructors

Splices |

Fields

- exprSplices :: [(LHsExpr GhcTc, LHsExpr GhcPs)]
- patSplices :: [(LHsExpr GhcTc, LPat GhcPs)]
- typeSplices :: [(LHsExpr GhcTc, LHsType GhcPs)]
- declSplices :: [(LHsExpr GhcTc, [LHsDecl GhcPs])]
- awSplices :: [(LHsExpr GhcTc, Serialized)]

#### Instances

Instances details

Monoid Splices # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods mempty :: Splices # mappend :: Splices -> Splices -> Splices # mconcat :: [Splices] -> Splices #
Semigroup Splices # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (<>) :: Splices -> Splices -> Splices # sconcat :: NonEmpty Splices -> Splices # stimes :: Integral b => b -> Splices -> Splices #
NFData Splices # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: Splices -> () #

data HiFileResult #

Constructors

HiFileResult |

Fields

- hirModSummary :: !ModSummary
- hirModIface :: !ModIface
- hirModDetails :: ModDetails

  Populated lazily

- hirIfaceFp :: !ByteString

  Fingerprint for the ModIface

- hirRuntimeModules :: !(ModuleEnv ByteString)

  same as tmrRuntimeModules

- hirCoreFp :: !(Maybe (CoreFile, ByteString))

  If we wrote a core file for this module, then its contents (lazily deserialised) along with its hash

#### Instances

Instances details

Show HiFileResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> HiFileResult -> ShowS # show :: HiFileResult -> String # showList :: [HiFileResult] -> ShowS #
NFData HiFileResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: HiFileResult -> () #

data HieAstResult #

Save the uncompressed AST here, we compress it just before writing to disk

Constructors

forall a.Typeable a => HAR |

Fields

- hieModule :: Module
- hieAst :: !(HieASTs a)
- refMap :: RefMap a

  Lazy because its value only depends on the hieAst, which is bundled in this type Lazyness can't cause leaks here because the lifetime of `refMap` will be the same as that of `hieAst`

- typeRefs :: Map Name [RealSrcSpan]

  type references in this file

- hieKind :: !(HieKind a)

  Is this hie file loaded from the disk, or freshly computed?

#### Instances

Instances details

Show HieAstResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> HieAstResult -> ShowS # show :: HieAstResult -> String # showList :: [HieAstResult] -> ShowS #
NFData HieAstResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: HieAstResult -> () #

data HieKind a where #

Constructors

HieFromDisk :: !HieFile -> HieKind TypeIndex |
HieFresh :: HieKind Type |

#### Instances

Instances details

NFData (HieKind a) # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: HieKind a -> () #

data GetBindings #

Constructors

GetBindings |

#### Instances

Instances details

Generic GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetBindings :: Type -> Type Methods from :: GetBindings -> Rep GetBindings x to :: Rep GetBindings x -> GetBindings
Show GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetBindings -> ShowS # show :: GetBindings -> String # showList :: [GetBindings] -> ShowS #
NFData GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetBindings -> () #
Eq GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetBindings -> GetBindings -> Bool # (/=) :: GetBindings -> GetBindings -> Bool #
Hashable GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetBindings -> Int # hash :: GetBindings -> Int #
type Rep GetBindings # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetBindings = D1 ('MetaData "GetBindings" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetBindings" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetBindings # | A IntervalMap telling us what is in scope at each point
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetBindings = Bindings

data DocAndKindMap #

Constructors

DKMap |

Fields

- getDocMap :: !DocMap
- getKindMap :: !KindMap

#### Instances

Instances details

Show DocAndKindMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> DocAndKindMap -> ShowS # show :: DocAndKindMap -> String # showList :: [DocAndKindMap] -> ShowS #
NFData DocAndKindMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: DocAndKindMap -> () #

data GetDocMap #

Constructors

GetDocMap |

#### Instances

Instances details

Generic GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetDocMap :: Type -> Type Methods from :: GetDocMap -> Rep GetDocMap x to :: Rep GetDocMap x -> GetDocMap
Show GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetDocMap -> ShowS # show :: GetDocMap -> String # showList :: [GetDocMap] -> ShowS #
NFData GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetDocMap -> () #
Eq GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetDocMap -> GetDocMap -> Bool # (/=) :: GetDocMap -> GetDocMap -> Bool #
Hashable GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetDocMap -> Int # hash :: GetDocMap -> Int #
type Rep GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetDocMap = D1 ('MetaData "GetDocMap" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetDocMap" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetDocMap # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetDocMap = DocAndKindMap

data GetLocatedImports #

Constructors

GetLocatedImports |

#### Instances

Instances details

Generic GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetLocatedImports :: Type -> Type Methods from :: GetLocatedImports -> Rep GetLocatedImports x to :: Rep GetLocatedImports x -> GetLocatedImports
Show GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetLocatedImports -> ShowS # show :: GetLocatedImports -> String # showList :: [GetLocatedImports] -> ShowS #
NFData GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetLocatedImports -> () #
Eq GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetLocatedImports -> GetLocatedImports -> Bool # (/=) :: GetLocatedImports -> GetLocatedImports -> Bool #
Hashable GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetLocatedImports -> Int # hash :: GetLocatedImports -> Int #
type Rep GetLocatedImports # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetLocatedImports = D1 ('MetaData "GetLocatedImports" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetLocatedImports" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetLocatedImports # | Resolve the imports in a module to the file path of a module in the same package
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetLocatedImports = [(Located ModuleName, Maybe ArtifactsLocation)]

data ReportImportCycles #

Constructors

ReportImportCycles |

#### Instances

Instances details

Generic ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep ReportImportCycles :: Type -> Type Methods from :: ReportImportCycles -> Rep ReportImportCycles x to :: Rep ReportImportCycles x -> ReportImportCycles
Show ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> ReportImportCycles -> ShowS # show :: ReportImportCycles -> String # showList :: [ReportImportCycles] -> ShowS #
NFData ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: ReportImportCycles -> () #
Eq ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: ReportImportCycles -> ReportImportCycles -> Bool # (/=) :: ReportImportCycles -> ReportImportCycles -> Bool #
Hashable ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> ReportImportCycles -> Int # hash :: ReportImportCycles -> Int #
type Rep ReportImportCycles # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep ReportImportCycles = D1 ('MetaData "ReportImportCycles" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "ReportImportCycles" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult ReportImportCycles # | This rule is used to report import cycles. It depends on GetModuleGraph. We cannot report the cycles directly from GetModuleGraph since we can only report diagnostics for the current file.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult ReportImportCycles = ()

data GetModIfaceFromDisk #

Constructors

GetModIfaceFromDisk |

#### Instances

Instances details

Generic GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetModIfaceFromDisk :: Type -> Type Methods from :: GetModIfaceFromDisk -> Rep GetModIfaceFromDisk x to :: Rep GetModIfaceFromDisk x -> GetModIfaceFromDisk
Show GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModIfaceFromDisk -> ShowS # show :: GetModIfaceFromDisk -> String # showList :: [GetModIfaceFromDisk] -> ShowS #
NFData GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModIfaceFromDisk -> () #
Eq GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModIfaceFromDisk -> GetModIfaceFromDisk -> Bool # (/=) :: GetModIfaceFromDisk -> GetModIfaceFromDisk -> Bool #
Hashable GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModIfaceFromDisk -> Int # hash :: GetModIfaceFromDisk -> Int #
type Rep GetModIfaceFromDisk # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIfaceFromDisk = D1 ('MetaData "GetModIfaceFromDisk" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetModIfaceFromDisk" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModIfaceFromDisk # | Read the module interface file from disk. Throws an error for VFS files. This is an internal rule, use `GetModIface` instead.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModIfaceFromDisk = HiFileResult

data GetModIfaceFromDiskAndIndex #

Constructors

GetModIfaceFromDiskAndIndex |

#### Instances

Instances details

Generic GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetModIfaceFromDiskAndIndex :: Type -> Type Methods from :: GetModIfaceFromDiskAndIndex -> Rep GetModIfaceFromDiskAndIndex x to :: Rep GetModIfaceFromDiskAndIndex x -> GetModIfaceFromDiskAndIndex
Show GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModIfaceFromDiskAndIndex -> ShowS # show :: GetModIfaceFromDiskAndIndex -> String # showList :: [GetModIfaceFromDiskAndIndex] -> ShowS #
NFData GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModIfaceFromDiskAndIndex -> () #
Eq GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModIfaceFromDiskAndIndex -> GetModIfaceFromDiskAndIndex -> Bool # (/=) :: GetModIfaceFromDiskAndIndex -> GetModIfaceFromDiskAndIndex -> Bool #
Hashable GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModIfaceFromDiskAndIndex -> Int # hash :: GetModIfaceFromDiskAndIndex -> Int #
type Rep GetModIfaceFromDiskAndIndex # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIfaceFromDiskAndIndex = D1 ('MetaData "GetModIfaceFromDiskAndIndex" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetModIfaceFromDiskAndIndex" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModIfaceFromDiskAndIndex # | GetModIfaceFromDisk and index the `.hie` file into the database. This is an internal rule, use `GetModIface` instead.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModIfaceFromDiskAndIndex = HiFileResult

data GetModIface #

Constructors

GetModIface |

#### Instances

Instances details

Generic GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetModIface :: Type -> Type Methods from :: GetModIface -> Rep GetModIface x to :: Rep GetModIface x -> GetModIface
Show GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModIface -> ShowS # show :: GetModIface -> String # showList :: [GetModIface] -> ShowS #
NFData GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModIface -> () #
Eq GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModIface -> GetModIface -> Bool # (/=) :: GetModIface -> GetModIface -> Bool #
Hashable GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModIface -> Int # hash :: GetModIface -> Int #
type Rep GetModIface # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModIface = D1 ('MetaData "GetModIface" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetModIface" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModIface # | Get a module interface details, either from an interface file or a typechecked module
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModIface = HiFileResult

data GetFileContents #

Constructors

GetFileContents |

#### Instances

Instances details

Generic GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetFileContents :: Type -> Type Methods from :: GetFileContents -> Rep GetFileContents x to :: Rep GetFileContents x -> GetFileContents
Show GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetFileContents -> ShowS # show :: GetFileContents -> String # showList :: [GetFileContents] -> ShowS #
NFData GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetFileContents -> () #
Eq GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetFileContents -> GetFileContents -> Bool # (/=) :: GetFileContents -> GetFileContents -> Bool #
Hashable GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetFileContents -> Int # hash :: GetFileContents -> Int #
type Rep GetFileContents # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetFileContents = D1 ('MetaData "GetFileContents" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetFileContents" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetFileContents # | Get the contents of a file, either dirty (if the buffer is modified) or Nothing to mean use from disk.
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetFileContents = (FileVersion, Maybe Text)

data AddWatchedFile #

Constructors

AddWatchedFile |

#### Instances

Instances details

Generic AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep AddWatchedFile :: Type -> Type Methods from :: AddWatchedFile -> Rep AddWatchedFile x to :: Rep AddWatchedFile x -> AddWatchedFile
Show AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> AddWatchedFile -> ShowS # show :: AddWatchedFile -> String # showList :: [AddWatchedFile] -> ShowS #
NFData AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: AddWatchedFile -> () #
Eq AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: AddWatchedFile -> AddWatchedFile -> Bool # (/=) :: AddWatchedFile -> AddWatchedFile -> Bool #
Hashable AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> AddWatchedFile -> Int # hash :: AddWatchedFile -> Int #
type Rep AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep AddWatchedFile = D1 ('MetaData "AddWatchedFile" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "AddWatchedFile" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult AddWatchedFile # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult AddWatchedFile = Bool

data IsFileOfInterestResult #

Constructors

NotFOI |
IsFOI FileOfInterestStatus |

#### Instances

Instances details

Generic IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep IsFileOfInterestResult :: Type -> Type Methods from :: IsFileOfInterestResult -> Rep IsFileOfInterestResult x to :: Rep IsFileOfInterestResult x -> IsFileOfInterestResult
Show IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> IsFileOfInterestResult -> ShowS # show :: IsFileOfInterestResult -> String # showList :: [IsFileOfInterestResult] -> ShowS #
NFData IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: IsFileOfInterestResult -> () #
Eq IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: IsFileOfInterestResult -> IsFileOfInterestResult -> Bool # (/=) :: IsFileOfInterestResult -> IsFileOfInterestResult -> Bool #
Hashable IsFileOfInterestResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> IsFileOfInterestResult -> Int # hash :: IsFileOfInterestResult -> Int #
type Rep IsFileOfInterestResult # |

Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep IsFileOfInterestResult = D1 ('MetaData "IsFileOfInterestResult" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "NotFOI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsFOI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileOfInterestStatus)))

data IsFileOfInterest #

Constructors

IsFileOfInterest |

#### Instances

Instances details

Generic IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep IsFileOfInterest :: Type -> Type Methods from :: IsFileOfInterest -> Rep IsFileOfInterest x to :: Rep IsFileOfInterest x -> IsFileOfInterest
Show IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> IsFileOfInterest -> ShowS # show :: IsFileOfInterest -> String # showList :: [IsFileOfInterest] -> ShowS #
NFData IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: IsFileOfInterest -> () #
Eq IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: IsFileOfInterest -> IsFileOfInterest -> Bool # (/=) :: IsFileOfInterest -> IsFileOfInterest -> Bool #
Hashable IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> IsFileOfInterest -> Int # hash :: IsFileOfInterest -> Int #
type Rep IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep IsFileOfInterest = D1 ('MetaData "IsFileOfInterest" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "IsFileOfInterest" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult IsFileOfInterest # |
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult IsFileOfInterest = IsFileOfInterestResult

data ModSummaryResult #

Constructors

ModSummaryResult |

Fields

- msrModSummary :: !ModSummary
- msrImports :: [LImportDecl GhcPs]
- msrFingerprint :: !Fingerprint
- msrHscEnv :: !HscEnv

  HscEnv for this particular ModSummary. Contains initialised plugins, parsed options, etc...

  Implicit assumption: DynFlags in `msrModSummary` are the same as the DynFlags in `msrHscEnv`.

#### Instances

Instances details

Show ModSummaryResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> ModSummaryResult -> ShowS # show :: ModSummaryResult -> String # showList :: [ModSummaryResult] -> ShowS #
NFData ModSummaryResult # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: ModSummaryResult -> () #

data GetModSummary #

Constructors

GetModSummary |

#### Instances

Instances details

Generic GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetModSummary :: Type -> Type Methods from :: GetModSummary -> Rep GetModSummary x to :: Rep GetModSummary x -> GetModSummary
Show GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModSummary -> ShowS # show :: GetModSummary -> String # showList :: [GetModSummary] -> ShowS #
NFData GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModSummary -> () #
Eq GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModSummary -> GetModSummary -> Bool # (/=) :: GetModSummary -> GetModSummary -> Bool #
Hashable GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModSummary -> Int # hash :: GetModSummary -> Int #
type Rep GetModSummary # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModSummary = D1 ('MetaData "GetModSummary" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetModSummary" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModSummary # | Generate a ModSummary that has enough information to be used to get .hi and .hie files. without needing to parse the entire source
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModSummary = ModSummaryResult

data GetModSummaryWithoutTimestamps #

Constructors

GetModSummaryWithoutTimestamps |

#### Instances

Instances details

Generic GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep GetModSummaryWithoutTimestamps :: Type -> Type Methods from :: GetModSummaryWithoutTimestamps -> Rep GetModSummaryWithoutTimestamps x to :: Rep GetModSummaryWithoutTimestamps x -> GetModSummaryWithoutTimestamps
Show GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> GetModSummaryWithoutTimestamps -> ShowS # show :: GetModSummaryWithoutTimestamps -> String # showList :: [GetModSummaryWithoutTimestamps] -> ShowS #
NFData GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: GetModSummaryWithoutTimestamps -> () #
Eq GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: GetModSummaryWithoutTimestamps -> GetModSummaryWithoutTimestamps -> Bool # (/=) :: GetModSummaryWithoutTimestamps -> GetModSummaryWithoutTimestamps -> Bool #
Hashable GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> GetModSummaryWithoutTimestamps -> Int # hash :: GetModSummaryWithoutTimestamps -> Int #
type Rep GetModSummaryWithoutTimestamps # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep GetModSummaryWithoutTimestamps = D1 ('MetaData "GetModSummaryWithoutTimestamps" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "GetModSummaryWithoutTimestamps" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetModSummaryWithoutTimestamps # | Generate a ModSummary with the timestamps and preprocessed content elided, for more successful early cutoff
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult GetModSummaryWithoutTimestamps = ModSummaryResult

data NeedsCompilation #

Constructors

NeedsCompilation |

#### Instances

Instances details

Generic NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Associated Types type Rep NeedsCompilation :: Type -> Type Methods from :: NeedsCompilation -> Rep NeedsCompilation x to :: Rep NeedsCompilation x -> NeedsCompilation
Show NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods showsPrec :: Int -> NeedsCompilation -> ShowS # show :: NeedsCompilation -> String # showList :: [NeedsCompilation] -> ShowS #
NFData NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods rnf :: NeedsCompilation -> () #
Eq NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods (==) :: NeedsCompilation -> NeedsCompilation -> Bool # (/=) :: NeedsCompilation -> NeedsCompilation -> Bool #
Hashable NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes Methods hashWithSalt :: Int -> NeedsCompilation -> Int # hash :: NeedsCompilation -> Int #
type Rep NeedsCompilation # |
Instance details Defined in Development.IDE.Core.RuleTypes type Rep NeedsCompilation = D1 ('MetaData "NeedsCompilation" "Development.IDE.Core.RuleTypes" "ghcide-2.4.0.0-2GLANXY6yWhIRmLZNYhiFQ" 'False) (C1 ('MetaCons "NeedsCompilation" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult NeedsCompilation # | Does this module need to be compiled?
Instance details Defined in Development.IDE.Core.RuleTypes type RuleResult NeedsCompilation = Maybe LinkableType

pattern GhcSessionDeps :: GhcSessionDeps #

pattern GetModificationTime :: GetModificationTime #

encodeLinkableType :: Maybe LinkableType -> ByteString #

Encode the linkable into an ordered bytestring. This is used to drive an ordered "newness" predicate in the `NeedsCompilation` build rule.

tmrModSummary :: TcModuleResult -> ModSummary #

hiFileFingerPrint :: HiFileResult -> ByteString #

mkHiFileResult :: ModSummary -> ModIface -> ModDetails -> ModuleEnv ByteString -> Maybe (CoreFile, ByteString) -> HiFileResult #

vfsVersion :: FileVersion -> Maybe Int32 #

awSplicesL :: Lens' Splices [(LHsExpr GhcTc, Serialized)] #

declSplicesL :: Lens' Splices [(LHsExpr GhcTc, [LHsDecl GhcPs])] #

exprSplicesL :: Lens' Splices [(LHsExpr GhcTc, LHsExpr GhcPs)] #

patSplicesL :: Lens' Splices [(LHsExpr GhcTc, LPat GhcPs)] #

typeSplicesL :: Lens' Splices [(LHsExpr GhcTc, LHsType GhcPs)] #