ghcide-0.0.2: 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 GetHieFile Source #

Constructors

GetHieFile FilePath 
Instances
Eq GetHieFile Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Show GetHieFile Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Generic GetHieFile Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Associated Types

type Rep GetHieFile :: Type -> Type #

Hashable GetHieFile Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

NFData GetHieFile Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

Methods

rnf :: GetHieFile -> () #

type Rep GetHieFile Source # 
Instance details

Defined in Development.IDE.Core.RuleTypes

type Rep GetHieFile = D1 (MetaData "GetHieFile" "Development.IDE.Core.RuleTypes" "ghcide-0.0.2-Ct0TzW6qltrFBHErWtUhit" False) (C1 (MetaCons "GetHieFile" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath)))
type RuleResult GetHieFile Source #

Read the given HIE file.

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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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 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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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

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.0.2-Ct0TzW6qltrFBHErWtUhit" 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.