on d82d607 help sign in
27 lines 705 B history raw
1{-# LANGUAGE LambdaCase #-}
2{-# LANGUAGE OverloadedStrings #-}
4module Ormolu.Printer.Meat.Declaration.Annotation
5 ( p_annDecl
6 )
7where
9import GHC
10import Ormolu.Printer.Combinators
11import Ormolu.Printer.Meat.Common
12import Ormolu.Printer.Meat.Declaration.Value
13import Ormolu.Utils
15p_annDecl :: AnnDecl GhcPs -> R ()
16p_annDecl = \case
17 HsAnnotation NoExt _ annProv expr -> line . pragma "ANN" $ do
18 p_annProv annProv
19 breakpoint
20 located expr p_hsExpr
21 XAnnDecl {} -> notImplemented "XAnnDecl"
23p_annProv :: AnnProvenance (IdP GhcPs) -> R ()
24p_annProv = \case
25 ValueAnnProvenance name -> p_rdrName name
26 TypeAnnProvenance name -> p_rdrName name
27 ModuleAnnProvenance -> txt "module"