@@ -110,18 +110,24 @@ isPragma = \case
110110 InlinePragma n -> Just n
111111 SpecializePragma n -> Just n
112112 SCCPragma n -> Just n
113+ AnnTypePragma n -> Just n
114+ AnnValuePragma n -> Just n
113115 _ -> Nothing
114116
115117pattern TypeSignature
116118 , FunctionBody
117119 , InlinePragma
118120 , SpecializePragma
119− , SCCPragma :: RdrName -> HsDecl GhcPs
121+ , SCCPragma
122+ , AnnTypePragma
123+ , AnnValuePragma :: RdrName -> HsDecl GhcPs
120124pattern TypeSignature n <- (sigRdrName -> Just n)
121125pattern FunctionBody n <- ValD NoExt (FunBind NoExt (L _ n) _ _ _)
122126pattern InlinePragma n <- SigD NoExt (InlineSig NoExt (L _ n) _)
123127pattern SpecializePragma n <- SigD NoExt (SpecSig NoExt (L _ n) _ _)
124128pattern SCCPragma n <- SigD NoExt (SCCFunSig NoExt _ (L _ n) _)
129+pattern AnnTypePragma n <- AnnD NoExt (HsAnnotation NoExt _ (TypeAnnProvenance (L _ n)) _)
130+pattern AnnValuePragma n <- AnnD NoExt (HsAnnotation NoExt _ (ValueAnnProvenance (L _ n)) _)
125131
126132sigRdrName :: HsDecl GhcPs -> Maybe RdrName
127133sigRdrName (SigD NoExt (TypeSig NoExt ((L _ n):_) _)) = Just n