Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Analysis = Analysis {}
- analyseEvidenceUses :: RefMap TypeIndex -> Analysis -> Analysis
- analyseHieFile :: MonadState Analysis m => Config -> HieFile -> m ()
- emptyAnalysis :: Analysis
- outputableDeclarations :: Analysis -> Set Declaration
- data Root
- reachable :: Analysis -> Set Root -> Set Declaration
- data Declaration = Declaration {}
Analysis
All information maintained by analyseHieFile
.
Analysis | |
|
Instances
analyseEvidenceUses :: RefMap TypeIndex -> Analysis -> Analysis Source #
Follow evidence uses listed under requestedEvidence
back to their
instance bindings, and connect their corresponding declaration to those bindings.
analyseHieFile :: MonadState Analysis m => Config -> HieFile -> m () Source #
emptyAnalysis :: Analysis Source #
The empty analysis - the result of analysing zero .hie
files.
outputableDeclarations :: Analysis -> Set Declaration Source #
The set of all declarations that could possibly appear in the output.
Reachability
A root for reachability analysis.
DeclarationRoot Declaration | A given declaration is a root. |
InstanceRoot | We store extra information for instances in order to be able to specify e.g. all instances of a class as roots. |
| |
ModuleRoot Module | All exported declarations in a module are roots. |
Instances
Generic Root Source # | |
NFData Root Source # | |
Eq Root Source # | |
Ord Root Source # | |
type Rep Root Source # | |
Defined in Weeder type Rep Root = D1 ('MetaData "Root" "Weeder" "weeder-2.9.0-Ky24d8HKddt9548OmNphKc" 'False) (C1 ('MetaCons "DeclarationRoot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Declaration)) :+: (C1 ('MetaCons "InstanceRoot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Declaration) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Declaration)) :+: C1 ('MetaCons "ModuleRoot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Module)))) |
reachable :: Analysis -> Set Root -> Set Declaration Source #
Determine the set of all declaration reachable from a set of roots.
Declarations
data Declaration Source #
Declaration | |
|