@@ -178,7 +178,7 @@ extractTyToTy :: forall f a. (Typeable f, Data a) => a -> Maybe (forall r. (fora
178178extractTyToTy node
179179 | App conRep argRep <- typeOf node
180180 , Just HRefl <- eqTypeRep conRep (typeRep @ f )
181- = Just $ withTypeable argRep $ ( \ k -> k node)
181+ = Just $ withTypeable argRep \ k -> k node
182182 | otherwise = Nothing
183183
184184{-# inline extractTy #-}
@@ -191,13 +191,17 @@ extractTy node
191191computeRangeHsSyntacticTokenTypeList :: ParsedModule -> RangeHsSyntacticTokenTypes
192192computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
193193 let toks = astTraversalWith pm_parsed_source \ node -> mconcat
194- [ maybeToList $ mkFromLocatable TKeyword . (\ k -> k \ x k' -> k' x) =<< extractTyToTy @ EpToken node
195- -- FIXME: probably needs to be commented out for ghc > 9.10
196- -- , maybeToList $ mkFromLocatable TKeyword . (\x k -> k x) =<< extractTy node
197- -- , do
198- -- EpAnnImportDecl i p s q pkg a <- maybeToList $ extractTy @EpAnnImportDecl node
194+ [
195+ #if MIN_VERSION_ghc(9,9,0)
196+ maybeToList $ mkFromLocatable TKeyword . (\ k -> k \ x k' -> k' x) =<< extractTyToTy @ EpToken node,
197+ #endif
198+ #if !MIN_VERSION_ghc(9,11,0)
199+ maybeToList $ mkFromLocatable TKeyword . (\ x k -> k x) =<< extractTy @ AddEpAnn node
200+ , do
201+ EpAnnImportDecl i p s q pkg a <- maybeToList $ extractTy @ EpAnnImportDecl node
199202
200- -- mapMaybe (mkFromLocatable TKeyword . (\x k -> k x)) $ catMaybes $ [Just i, s, q, pkg, a] <> foldMap (\(l, l') -> [Just l, Just l']) p
203+ mapMaybe (mkFromLocatable TKeyword . (\ x k -> k x)) $ catMaybes $ [Just i, s, q, pkg, a] <> foldMap (\ (l, l') -> [Just l, Just l']) p
204+ #endif
201205 , maybeToList $ mkFromLocatable TComment . (\ x k -> k x) =<< extractTy @ LEpaComment node
202206 , do
203207 L loc expr <- maybeToList $ extractTy @ (LHsExpr GhcPs ) node
@@ -217,13 +221,17 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
217221 HsInteger {} -> TNumberLit
218222 HsIntPrim {} -> TNumberLit
219223 HsWordPrim {} -> TNumberLit
224+ #if MIN_VERSION_ghc(9,9,0)
220225 HsWord8Prim {} -> TNumberLit
221226 HsWord16Prim {} -> TNumberLit
222227 HsWord32Prim {} -> TNumberLit
228+ #endif
223229 HsWord64Prim {} -> TNumberLit
230+ #if MIN_VERSION_ghc(9,9,0)
224231 HsInt8Prim {} -> TNumberLit
225232 HsInt16Prim {} -> TNumberLit
226233 HsInt32Prim {} -> TNumberLit
234+ #endif
227235 HsInt64Prim {} -> TNumberLit
228236 HsFloatPrim {} -> TNumberLit
229237 HsDoublePrim {} -> TNumberLit
0 commit comments