on master help sign in
Add support for the CONLIKE modifier in inlining pragmas
commit85de7ce38cac07229d02d04dff646a2e7155bedf authormrkkrp <mark.karpov@tweag.io> dateSun 4 Aug 2019, 13:45 (7 years ago) parent85d5f78
3 files changed+20−4
data/examples/declaration/signature/inline/conlike-out.hs+7 data/examples/declaration/signature/inline/conlike.hs+7 src/Ormolu/Printer/Meat/Declaration/Signature.hs+6−4
data/examples/declaration/signature/inline/conlike-out.hsnew file+7
@@ -0,0 +1,7 @@
1+foo :: Int
2+foo = 5
3+{-# INLINE CONLIKE foo #-}
4+
5+bar :: Int
6+bar = 6
7+{-# INLINE CONLIKE bar #-}
data/examples/declaration/signature/inline/conlike.hsnew file+7
@@ -0,0 +1,7 @@
1+foo :: Int
2+foo = 5
3+{-# INLINE CONLIKE foo #-}
4+
5+bar :: Int
6+bar = 6
7+{-# INLINE CONLIKE bar #-}
src/Ormolu/Printer/Meat/Declaration/Signature.hs+6−4
@@ -102,11 +102,13 @@ p_inlineSig
102102 -> R ()
103103p_inlineSig name InlinePragma {..} = pragmaBraces $ do
104104 txt $ case inl_inline of
105− Inline -> "INLINE"
106− Inlinable -> "INLINEABLE"
107− NoInline -> "NOINLINE"
105+ Inline -> "INLINE "
106+ Inlinable -> "INLINEABLE "
107+ NoInline -> "NOINLINE "
108108 NoUserInline -> notImplemented "NoUserInline"
109− space
109+ case inl_rule of
110+ ConLike -> txt "CONLIKE "
111+ FunLike -> return ()
110112 p_activation inl_act
111113 when (visibleActivation inl_act) space
112114 p_rdrName name