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