@@ -178,7 +178,7 @@ extractTyToTy :: forall f a. (Typeable f, Data a) => a -> Maybe (forall r. (fora
178
178
extractTyToTy node
179
179
| App conRep argRep <- typeOf node
180
180
, Just HRefl <- eqTypeRep conRep (typeRep @ f )
181
- = Just $ withTypeable argRep $ ( \ k -> k node)
181
+ = Just $ withTypeable argRep \ k -> k node
182
182
| otherwise = Nothing
183
183
184
184
{-# inline extractTy #-}
@@ -191,13 +191,17 @@ extractTy node
191
191
computeRangeHsSyntacticTokenTypeList :: ParsedModule -> RangeHsSyntacticTokenTypes
192
192
computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
193
193
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
199
202
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
201
205
, maybeToList $ mkFromLocatable TComment . (\ x k -> k x) =<< extractTy @ LEpaComment node
202
206
, do
203
207
L loc expr <- maybeToList $ extractTy @ (LHsExpr GhcPs ) node
@@ -217,13 +221,17 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
217
221
HsInteger {} -> TNumberLit
218
222
HsIntPrim {} -> TNumberLit
219
223
HsWordPrim {} -> TNumberLit
224
+ #if MIN_VERSION_ghc(9,9,0)
220
225
HsWord8Prim {} -> TNumberLit
221
226
HsWord16Prim {} -> TNumberLit
222
227
HsWord32Prim {} -> TNumberLit
228
+ #endif
223
229
HsWord64Prim {} -> TNumberLit
230
+ #if MIN_VERSION_ghc(9,9,0)
224
231
HsInt8Prim {} -> TNumberLit
225
232
HsInt16Prim {} -> TNumberLit
226
233
HsInt32Prim {} -> TNumberLit
234
+ #endif
227
235
HsInt64Prim {} -> TNumberLit
228
236
HsFloatPrim {} -> TNumberLit
229
237
HsDoublePrim {} -> TNumberLit
0 commit comments