haskell-tools-backend-ghc-1.1.0.2: Creating the Haskell-Tools AST from GHC's representations

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Tools.BackendGHC.Decls

Description

Functions that convert the declarations of the GHC AST to corresponding elements in the Haskell-tools AST representation

Synopsis

Documentation

trfDeclsGroup :: forall n r. TransformName n r => HsGroup n -> Trf (AnnListG UDecl (Dom r) RangeStage) #

trfDecl :: forall n r. TransformName n r => Located (HsDecl n) -> Trf (Ann UDecl (Dom r) RangeStage) #

trfVal :: TransformName n r => HsBindLR n n -> Trf (UDecl (Dom r) RangeStage) #

trfSig :: forall n r. TransformName n r => Sig n -> Trf (UDecl (Dom r) RangeStage) #

trfConDecl' :: forall n r. TransformName n r => ConDecl n -> Trf (UConDecl (Dom r) RangeStage) #

trfGADTConDecl' :: forall n r. TransformName n r => ConDecl n -> Trf (UGadtConDecl (Dom r) RangeStage) #

trfFieldDecl' :: forall n r. TransformName n r => ConDeclField n -> Trf (UFieldDecl (Dom r) RangeStage) #

trfInstanceRule' :: forall n r. TransformName n r => HsType n -> Trf (UInstanceRule (Dom r) RangeStage) #

makeInstanceRuleTyVars :: forall n r. TransformName n r => Located (IdP n) -> [LHsType n] -> Trf (Ann UInstanceRule (Dom r) RangeStage) #

trfInstanceHead' :: forall n r. TransformName n r => HsType n -> Trf (UInstanceHead (Dom r) RangeStage) #

trfTypeEq :: forall n r. TransformName n r => Located (FamEqn n (HsTyPats n) (LHsType n)) -> Trf (Ann UTypeEqn (Dom r) RangeStage) #

trfFunDeps :: forall n r. TransformName n r => [Located (FunDep (Located (IdP n)))] -> Trf (AnnMaybeG UFunDeps (Dom r) RangeStage) #

trfFunDep' :: forall n r. TransformName n r => FunDep (Located (IdP n)) -> Trf (UFunDep (Dom r) RangeStage) #

createDeclHead :: forall n r. TransformName n r => Located (IdP n) -> LHsQTyVars n -> Trf (Ann UDeclHead (Dom r) RangeStage) #

addParenLocs :: SrcSpan -> Trf SrcSpan #

Get the parentheses directly before and after (for parenthesized application)

trfClassElemSig :: forall n r. TransformName n r => Located (Sig n) -> Trf (Ann UClassElement (Dom r) RangeStage) #

trfClassInstSig :: forall n r. TransformName n r => Located (Sig n) -> Trf (Ann UInstBodyDecl (Dom r) RangeStage) #

trfRuleBndr :: forall n r. TransformName n r => Located (RuleBndr n) -> Trf (Ann URuleVar (Dom r) RangeStage) #