@@ -180,7 +180,7 @@ extractTyToTy :: forall f a. (Typeable f, Data a) => a -> Maybe (forall r. (fora
180180extractTyToTy node
181181 | App conRep argRep <- typeOf node
182182 , Just HRefl <- eqTypeRep conRep (typeRep @ f )
183- = Just $ withTypeable argRep $ ( \ k -> k node)
183+ = Just $ withTypeable argRep \ k -> k node
184184 | otherwise = Nothing
185185
186186{-# inline extractTy #-}
@@ -193,13 +193,17 @@ extractTy node
193193computeRangeHsSyntacticTokenTypeList :: ParsedModule -> RangeHsSyntacticTokenTypes
194194computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
195195 let toks = astTraversalWith pm_parsed_source \ node -> mconcat
196- [ maybeToList $ mkFromLocatable TKeyword . (\ k -> k \ x k' -> k' x) =<< extractTyToTy @ EpToken node
197- -- FIXME: probably needs to be commented out for ghc > 9.10
198- -- , maybeToList $ mkFromLocatable TKeyword . (\x k -> k x) =<< extractTy node
199- -- , do
200- -- EpAnnImportDecl i p s q pkg a <- maybeToList $ extractTy @EpAnnImportDecl node
196+ [
197+ #if MIN_VERSION_ghc(9,9,0)
198+ maybeToList $ mkFromLocatable TKeyword . (\ k -> k \ x k' -> k' x) =<< extractTyToTy @ EpToken node,
199+ #endif
200+ #if !MIN_VERSION_ghc(9,11,0)
201+ maybeToList $ mkFromLocatable TKeyword . (\ x k -> k x) =<< extractTy @ AddEpAnn node
202+ , do
203+ EpAnnImportDecl i p s q pkg a <- maybeToList $ extractTy @ EpAnnImportDecl node
201204
202- -- mapMaybe (mkFromLocatable TKeyword . (\x k -> k x)) $ catMaybes $ [Just i, s, q, pkg, a] <> foldMap (\(l, l') -> [Just l, Just l']) p
205+ mapMaybe (mkFromLocatable TKeyword . (\ x k -> k x)) $ catMaybes $ [Just i, s, q, pkg, a] <> foldMap (\ (l, l') -> [Just l, Just l']) p
206+ #endif
203207 , maybeToList $ mkFromLocatable TComment . (\ x k -> k x) =<< extractTy @ LEpaComment node
204208 , do
205209 L loc expr <- maybeToList $ extractTy @ (LHsExpr GhcPs ) node
@@ -219,13 +223,17 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
219223 HsInteger {} -> TNumberLit
220224 HsIntPrim {} -> TNumberLit
221225 HsWordPrim {} -> TNumberLit
226+ #if MIN_VERSION_ghc(9,9,0)
222227 HsWord8Prim {} -> TNumberLit
223228 HsWord16Prim {} -> TNumberLit
224229 HsWord32Prim {} -> TNumberLit
230+ #endif
225231 HsWord64Prim {} -> TNumberLit
232+ #if MIN_VERSION_ghc(9,9,0)
226233 HsInt8Prim {} -> TNumberLit
227234 HsInt16Prim {} -> TNumberLit
228235 HsInt32Prim {} -> TNumberLit
236+ #endif
229237 HsInt64Prim {} -> TNumberLit
230238 HsFloatPrim {} -> TNumberLit
231239 HsDoublePrim {} -> TNumberLit
0 commit comments