GHC.Iface.Ext.Debug

ghc-9.2.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Iface.Ext.Debug

Synopsis

- type Diff a = a -> a -> [SDoc]
- diffFile :: Diff HieFile
- diffAsts :: (Outputable a, Eq a, Ord a) => Diff a -> Diff (Map HiePath (HieAST a))
- diffAst :: (Outputable a, Eq a, Ord a) => Diff a -> Diff (HieAST a)
- type DiffIdent = Either ModuleName HieName
- normalizeIdents :: Ord a => NodeIdentifiers a -> [(DiffIdent, IdentifierDetails a)]
- diffList :: Diff a -> Diff [a]
- eqDiff :: (Outputable a, Eq a) => Diff a
- validAst :: HieAST a -> Either SDoc ()
- validateScopes :: Module -> Map HiePath (HieAST a) -> [SDoc]

# Documentation

type Diff a = a -> a -> [SDoc] Source #

diffFile :: Diff HieFile Source #

diffAsts :: (Outputable a, Eq a, Ord a) => Diff a -> Diff (Map HiePath (HieAST a)) Source #

diffAst :: (Outputable a, Eq a, Ord a) => Diff a -> Diff (HieAST a) Source #

type DiffIdent = Either ModuleName HieName Source #

normalizeIdents :: Ord a => NodeIdentifiers a -> [(DiffIdent, IdentifierDetails a)] Source #

diffList :: Diff a -> Diff [a] Source #

eqDiff :: (Outputable a, Eq a) => Diff a Source #

validAst :: HieAST a -> Either SDoc () Source #

validateScopes :: Module -> Map HiePath (HieAST a) -> [SDoc] Source #

Look for any identifiers which occur outside of their supposed scopes. Returns a list of error messages.