+ tc_lprag :: LSig Name -> TcM LPrag
+ tc_lprag (L loc prag) = setSrcSpan loc $
+ addErrCtxt (pragSigCtxt prag) $
+ do { prag' <- tc_prag prag
+ ; return (L loc prag') }
+
+ tc_prag (SpecSig _ hs_ty inl) = tcSpecPrag poly_id hs_ty inl
+ tc_prag (SpecInstSig hs_ty) = tcSpecPrag poly_id hs_ty defaultInlineSpec
+ tc_prag (InlineSig _ inl) = do { warnIfRecInline rec_group inl poly_id
+ ; return (InlinePrag inl) }
+ tc_prag (FixSig {}) = panic "tcPrag FixSig"
+ tc_prag (TypeSig {}) = panic "tcPrag TypeSig"