ghcide-0.0.3: The core of an IDE

Safe HaskellNone
LanguageHaskell2010

Development.IDE.Import.DependencyInformation

Synopsis

Documentation

data DependencyInformation Source #

Constructors

DependencyInformation 

Fields

Instances
Show DependencyInformation Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Generic DependencyInformation Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Associated Types

type Rep DependencyInformation :: Type -> Type #

NFData DependencyInformation Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Methods

rnf :: DependencyInformation -> () #

type Rep DependencyInformation Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

type Rep DependencyInformation = D1 (MetaData "DependencyInformation" "Development.IDE.Import.DependencyInformation" "ghcide-0.0.3-4hQ7gXQnpQHCP16DwYNMGA" False) (C1 (MetaCons "DependencyInformation" PrefixI True) ((S1 (MetaSel (Just "depErrorNodes") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (IntMap (NonEmpty NodeError))) :*: S1 (MetaSel (Just "depModuleDeps") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (IntMap IntSet))) :*: (S1 (MetaSel (Just "depPkgDeps") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (IntMap (Set InstalledUnitId))) :*: S1 (MetaSel (Just "depPathIdMap") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 PathIdMap))))

data ModuleImports Source #

The imports for a given module.

Constructors

ModuleImports 

Fields

data RawDependencyInformation Source #

Unprocessed results that we find by following imports recursively.

data NodeError Source #

An error attached to a node in the dependency graph.

Constructors

PartOfCycle (Located ModuleName) [FilePathId]

This module is part of an import cycle. The module name corresponds to the import that enters the cycle starting from this module. The list of filepaths represents the elements in the cycle in unspecified order.

FailedToLocateImport (Located ModuleName)

This module has an import that couldn’t be located.

ParseError ModuleParseError 
ParentOfErrorNode (Located ModuleName)

This module is the parent of a module that cannot be processed (either it cannot be parsed, is part of a cycle or the parent of another error node).

Instances
Show NodeError Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Generic NodeError Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Associated Types

type Rep NodeError :: Type -> Type #

NFData NodeError Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Methods

rnf :: NodeError -> () #

type Rep NodeError Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

data ModuleParseError Source #

This does not contain the actual parse error as that is already reported by GetParsedModule.

Constructors

ModuleParseError 
Instances
Show ModuleParseError Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Generic ModuleParseError Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Associated Types

type Rep ModuleParseError :: Type -> Type #

NFData ModuleParseError Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Methods

rnf :: ModuleParseError -> () #

type Rep ModuleParseError Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

type Rep ModuleParseError = D1 (MetaData "ModuleParseError" "Development.IDE.Import.DependencyInformation" "ghcide-0.0.3-4hQ7gXQnpQHCP16DwYNMGA" False) (C1 (MetaCons "ModuleParseError" PrefixI False) (U1 :: Type -> Type))

data TransitiveDependencies Source #

Constructors

TransitiveDependencies 

Fields

Instances
Eq TransitiveDependencies Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Show TransitiveDependencies Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Generic TransitiveDependencies Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Associated Types

type Rep TransitiveDependencies :: Type -> Type #

NFData TransitiveDependencies Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Methods

rnf :: TransitiveDependencies -> () #

type Rep TransitiveDependencies Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

type Rep TransitiveDependencies = D1 (MetaData "TransitiveDependencies" "Development.IDE.Import.DependencyInformation" "ghcide-0.0.3-4hQ7gXQnpQHCP16DwYNMGA" False) (C1 (MetaCons "TransitiveDependencies" PrefixI True) (S1 (MetaSel (Just "transitiveModuleDeps") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [NormalizedFilePath]) :*: S1 (MetaSel (Just "transitivePkgDeps") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [InstalledUnitId])))

newtype FilePathId Source #

For processing dependency information, we need lots of maps and sets of filepaths. Comparing Strings is really slow, so we work with IntMap/IntSet instead and only convert at the edges and

Constructors

FilePathId 

Fields

data PathIdMap Source #

Instances
Show PathIdMap Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Generic PathIdMap Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Associated Types

type Rep PathIdMap :: Type -> Type #

NFData PathIdMap Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

Methods

rnf :: PathIdMap -> () #

type Rep PathIdMap Source # 
Instance details

Defined in Development.IDE.Import.DependencyInformation

type Rep PathIdMap = D1 (MetaData "PathIdMap" "Development.IDE.Import.DependencyInformation" "ghcide-0.0.3-4hQ7gXQnpQHCP16DwYNMGA" False) (C1 (MetaCons "PathIdMap" PrefixI True) (S1 (MetaSel (Just "idToPathMap") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (IntMap NormalizedFilePath)) :*: S1 (MetaSel (Just "pathToIdMap") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map NormalizedFilePath FilePathId))))