ghcide-0.3.0: The core of an IDE

Safe HaskellNone
LanguageHaskell2010

Development.IDE.Core.RuleTypes

Description

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

Synopsis

Documentation

data GetModSummary Source #

Constructors

GetModSummary 
Instances
Eq GetModSummary Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetModSummary Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetModSummary Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModSummary :: Type -> Type #

Hashable GetModSummary Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetModSummary Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetModSummary Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GetModSummary -> () #

type Rep GetModSummary Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetModSummary = D1 (MetaData "GetModSummary" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetModSummary" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetModSummary Source #

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

data GetModSummaryWithoutTimestamps Source #

Instances
Eq GetModSummaryWithoutTimestamps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetModSummaryWithoutTimestamps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetModSummaryWithoutTimestamps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModSummaryWithoutTimestamps :: Type -> Type #

Hashable GetModSummaryWithoutTimestamps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetModSummaryWithoutTimestamps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetModSummaryWithoutTimestamps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetModSummaryWithoutTimestamps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetModSummaryWithoutTimestamps = D1 (MetaData "GetModSummaryWithoutTimestamps" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetModSummaryWithoutTimestamps" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetModSummaryWithoutTimestamps Source #

Generate a ModSummary with the timestamps elided, for more successful early cutoff

Instance details

Defined in Development.IDE.Core.RuleTypes

data IsFileOfInterest Source #

Constructors

IsFileOfInterest 
Instances
Eq IsFileOfInterest Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show IsFileOfInterest Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic IsFileOfInterest Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep IsFileOfInterest :: Type -> Type #

Hashable IsFileOfInterest Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary IsFileOfInterest Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData IsFileOfInterest Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: IsFileOfInterest -> () #

type Rep IsFileOfInterest Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep IsFileOfInterest = D1 (MetaData "IsFileOfInterest" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "IsFileOfInterest" PrefixI False) (U1 :: Type -> Type))
type RuleResult IsFileOfInterest Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

data GetModIface Source #

Constructors

GetModIface 
Instances
Eq GetModIface Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetModIface Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetModIface Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModIface :: Type -> Type #

Hashable GetModIface Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetModIface Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetModIface Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GetModIface -> () #

type Rep GetModIface Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetModIface = D1 (MetaData "GetModIface" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetModIface" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetModIface Source #

Get a module interface details, either from an interface file or a typechecked module

Instance details

Defined in Development.IDE.Core.RuleTypes

data GetModIfaceFromDisk Source #

Constructors

GetModIfaceFromDisk 
Instances
Eq GetModIfaceFromDisk Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetModIfaceFromDisk Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetModIfaceFromDisk Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetModIfaceFromDisk :: Type -> Type #

Hashable GetModIfaceFromDisk Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetModIfaceFromDisk Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetModIfaceFromDisk Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GetModIfaceFromDisk -> () #

type Rep GetModIfaceFromDisk Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetModIfaceFromDisk = D1 (MetaData "GetModIfaceFromDisk" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetModIfaceFromDisk" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetModIfaceFromDisk Source #

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

data GhcSessionDeps Source #

Constructors

GhcSessionDeps 
Instances
Eq GhcSessionDeps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GhcSessionDeps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GhcSessionDeps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GhcSessionDeps :: Type -> Type #

Hashable GhcSessionDeps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GhcSessionDeps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GhcSessionDeps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GhcSessionDeps -> () #

type Rep GhcSessionDeps Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GhcSessionDeps = D1 (MetaData "GhcSessionDeps" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GhcSessionDeps" PrefixI False) (U1 :: Type -> Type))
type RuleResult GhcSessionDeps Source #

A GHC session preloaded with all the dependencies

Instance details

Defined in Development.IDE.Core.RuleTypes

data GhcSession Source #

Constructors

GhcSession 
Instances
Eq GhcSession Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GhcSession Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GhcSession Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GhcSession :: Type -> Type #

Hashable GhcSession Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GhcSession Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GhcSession Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GhcSession -> () #

type Rep GhcSession Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GhcSession = D1 (MetaData "GhcSession" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GhcSession" PrefixI False) (U1 :: Type -> Type))
type RuleResult GhcSession Source #

A GHC session that we reuse.

Instance details

Defined in Development.IDE.Core.RuleTypes

data GenerateByteCode Source #

Constructors

GenerateByteCode 
Instances
Eq GenerateByteCode Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GenerateByteCode Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GenerateByteCode Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GenerateByteCode :: Type -> Type #

Hashable GenerateByteCode Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GenerateByteCode Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GenerateByteCode Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GenerateByteCode -> () #

type Rep GenerateByteCode Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GenerateByteCode = D1 (MetaData "GenerateByteCode" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GenerateByteCode" PrefixI False) (U1 :: Type -> Type))
type RuleResult GenerateByteCode Source #

Generate byte code for template haskell.

Instance details

Defined in Development.IDE.Core.RuleTypes

data GenerateCore Source #

Constructors

GenerateCore 
Instances
Eq GenerateCore Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GenerateCore Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GenerateCore Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GenerateCore :: Type -> Type #

Hashable GenerateCore Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GenerateCore Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GenerateCore Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GenerateCore -> () #

type Rep GenerateCore Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GenerateCore = D1 (MetaData "GenerateCore" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GenerateCore" PrefixI False) (U1 :: Type -> Type))
type RuleResult GenerateCore Source #

Convert to Core, requires TypeCheck*

Instance details

Defined in Development.IDE.Core.RuleTypes

data GetSpanInfo Source #

Constructors

GetSpanInfo 
Instances
Eq GetSpanInfo Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetSpanInfo Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetSpanInfo Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetSpanInfo :: Type -> Type #

Hashable GetSpanInfo Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetSpanInfo Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetSpanInfo Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GetSpanInfo -> () #

type Rep GetSpanInfo Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetSpanInfo = D1 (MetaData "GetSpanInfo" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetSpanInfo" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetSpanInfo Source #

Information about what spans occur where, requires TypeCheck

Instance details

Defined in Development.IDE.Core.RuleTypes

data TypeCheck Source #

Constructors

TypeCheck 
Instances
Eq TypeCheck Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show TypeCheck Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic TypeCheck Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep TypeCheck :: Type -> Type #

Hashable TypeCheck Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary TypeCheck Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData TypeCheck Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: TypeCheck -> () #

type Rep TypeCheck Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep TypeCheck = D1 (MetaData "TypeCheck" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "TypeCheck" PrefixI False) (U1 :: Type -> Type))
type RuleResult TypeCheck Source #

The type checked version of this file, requires TypeCheck+

Instance details

Defined in Development.IDE.Core.RuleTypes

data GetDependencies Source #

Constructors

GetDependencies 
Instances
Eq GetDependencies Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetDependencies Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetDependencies Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetDependencies :: Type -> Type #

Hashable GetDependencies Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetDependencies Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetDependencies Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GetDependencies -> () #

type Rep GetDependencies Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetDependencies = D1 (MetaData "GetDependencies" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetDependencies" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetDependencies Source #

Transitive module and pkg dependencies based on the information produced by GetDependencyInformation. This rule is also responsible for calling ReportImportCycles for each file in the transitive closure.

Instance details

Defined in Development.IDE.Core.RuleTypes

data ReportImportCycles Source #

Constructors

ReportImportCycles 
Instances
Eq ReportImportCycles Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show ReportImportCycles Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic ReportImportCycles Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep ReportImportCycles :: Type -> Type #

Hashable ReportImportCycles Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary ReportImportCycles Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData ReportImportCycles Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: ReportImportCycles -> () #

type Rep ReportImportCycles Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep ReportImportCycles = D1 (MetaData "ReportImportCycles" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "ReportImportCycles" PrefixI False) (U1 :: Type -> Type))
type RuleResult ReportImportCycles Source #

This rule is used to report import cycles. It depends on GetDependencyInformation. We cannot report the cycles directly from GetDependencyInformation since we can only report diagnostics for the current file.

Instance details

Defined in Development.IDE.Core.RuleTypes

data GetDependencyInformation Source #

Instances
Eq GetDependencyInformation Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetDependencyInformation Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetDependencyInformation Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetDependencyInformation :: Type -> Type #

Hashable GetDependencyInformation Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetDependencyInformation Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetDependencyInformation Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetDependencyInformation Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetDependencyInformation = D1 (MetaData "GetDependencyInformation" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetDependencyInformation" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetDependencyInformation Source #

The dependency information produced by following the imports recursively. This rule will succeed even if there is an error, e.g., a module could not be located, a module could not be parsed or an import cycle.

Instance details

Defined in Development.IDE.Core.RuleTypes

data GetLocatedImports Source #

Constructors

GetLocatedImports 
Instances
Eq GetLocatedImports Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetLocatedImports Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetLocatedImports Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetLocatedImports :: Type -> Type #

Hashable GetLocatedImports Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetLocatedImports Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetLocatedImports Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GetLocatedImports -> () #

type Rep GetLocatedImports Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetLocatedImports = D1 (MetaData "GetLocatedImports" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetLocatedImports" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetLocatedImports Source #

Resolve the imports in a module to the file path of a module in the same package or the package id of another package.

Instance details

Defined in Development.IDE.Core.RuleTypes

data GetParsedModule Source #

Constructors

GetParsedModule 
Instances
Eq GetParsedModule Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetParsedModule Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetParsedModule Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetParsedModule :: Type -> Type #

Hashable GetParsedModule Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Binary GetParsedModule Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetParsedModule Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GetParsedModule -> () #

type Rep GetParsedModule Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetParsedModule = D1 (MetaData "GetParsedModule" "Development.IDE.Core.RuleTypes" "ghcide-0.3.0-Dfp4umcHt6s1wVYFQXPyfq" False) (C1 (MetaCons "GetParsedModule" PrefixI False) (U1 :: Type -> Type))
type RuleResult GetParsedModule Source #

The parse tree for the file using GetFileContents

Instance details

Defined in Development.IDE.Core.RuleTypes

data TcModuleResult Source #

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