HieDebug

ghc-8.10.6: The GHC API

Safe Haskell | None
Language | Haskell2010

HieDebug

Synopsis

- ppHies :: Outputable a => HieASTs a -> SDoc
- ppHie :: Outputable a => HieAST a -> SDoc
- ppInfo :: Outputable a => NodeInfo a -> SDoc
- type Diff a = a -> a -> [SDoc]
- diffFile :: Diff HieFile
- diffAsts :: (Outputable a, Eq a, Ord a) => Diff a -> Diff (Map FastString (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 FastString (HieAST a) -> [SDoc]

# Documentation

ppHies :: Outputable a => HieASTs a -> SDoc #

ppHie :: Outputable a => HieAST a -> SDoc #

ppInfo :: Outputable a => NodeInfo a -> SDoc #

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

diffFile :: Diff HieFile #

diffAsts :: (Outputable a, Eq a, Ord a) => Diff a -> Diff (Map FastString (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 FastString (HieAST a) -> [SDoc] #

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