@@ -97,11 +97,7 @@ p_inlineSig
97 -> InlinePragma -- ^ Inline pragma specification
97 -> InlinePragma -- ^ Inline pragma specification
99p_inlineSig name InlinePragma {..} = pragmaBraces $ do
99p_inlineSig name InlinePragma {..} = pragmaBraces $ do
100− txt $ case inl_inline of
100+ p_inlineSpec inl_inline
102− Inlinable -> "INLINEABLE "
103− NoInline -> "NOINLINE "
104− NoUserInline -> notImplemented "NoUserInline"
105 case inl_rule of
101 case inl_rule of
106 ConLike -> txt "CONLIKE "
102 ConLike -> txt "CONLIKE "
107 FunLike -> return ()
103 FunLike -> return ()
@@ -117,6 +113,7 @@ p_specSig
117p_specSig name ts InlinePragma {..} = pragmaBraces $ do
113p_specSig name ts InlinePragma {..} = pragmaBraces $ do
118 txt "SPECIALIZE"
114 txt "SPECIALIZE"
116+ p_inlineSpec inl_inline
120 p_activation inl_act
117 p_activation inl_act
121 when (visibleActivation inl_act) space
118 when (visibleActivation inl_act) space
122 p_rdrName name
119 p_rdrName name
@@ -125,6 +122,13 @@ p_specSig name ts InlinePragma {..} = pragmaBraces $ do
125 txt ":: "
122 txt ":: "
126 sep (comma >> breakpoint) (located' p_hsType . hsib_body) ts
123 sep (comma >> breakpoint) (located' p_hsType . hsib_body) ts
125+p_inlineSpec :: InlineSpec -> R ()
126+p_inlineSpec = txt . \case
128+ Inlinable -> "INLINEABLE "
129+ NoInline -> "NOINLINE "
128p_activation :: Activation -> R ()
132p_activation :: Activation -> R ()
129p_activation = \case
133p_activation = \case
130 NeverActive -> return ()
134 NeverActive -> return ()