1
1
--------------------------------------------------------------------------------
2
+ {-# LANGUAGE DataKinds #-}
2
3
{-# LANGUAGE PartialTypeSignatures #-}
3
4
{-# LANGUAGE PatternGuards #-}
4
5
{-# LANGUAGE RecordWildCards #-}
@@ -9,7 +10,6 @@ module Language.Haskell.Stylish.Step.Squash
9
10
10
11
11
12
--------------------------------------------------------------------------------
12
- import Data.Maybe (listToMaybe )
13
13
import qualified GHC.Hs as GHC
14
14
import qualified GHC.Types.SrcLoc as GHC
15
15
@@ -45,10 +45,9 @@ squashFieldDecl _ = mempty
45
45
46
46
47
47
--------------------------------------------------------------------------------
48
- fieldDeclSeparator :: [GHC. AddEpAnn ]-> Maybe GHC. RealSrcSpan
49
- fieldDeclSeparator anns = listToMaybe $ do
50
- GHC. AddEpAnn GHC. AnnDcolon (GHC. EpaSpan (GHC. RealSrcSpan s _)) <- anns
51
- pure s
48
+ fieldDeclSeparator :: GHC. EpUniToken " ::" " \8759" -> Maybe GHC. RealSrcSpan
49
+ fieldDeclSeparator (GHC. EpUniTok (GHC. EpaSpan (GHC. RealSrcSpan s _)) _) = Just s
50
+ fieldDeclSeparator _ = Nothing
52
51
53
52
54
53
--------------------------------------------------------------------------------
@@ -65,23 +64,23 @@ squashMatch lmatch = case GHC.m_grhss match of
65
64
where
66
65
match = GHC. unLoc lmatch
67
66
mbLeft = case match of
68
- GHC. Match _ (GHC. FunRhs name _ _) [] _ ->
67
+ GHC. Match _ (GHC. FunRhs name _ _ _ ) ( GHC. L _ [] ) _ ->
69
68
GHC. srcSpanToRealSrcSpan $ GHC. getLocA name
70
- GHC. Match _ _ pats@ (_ : _) _ ->
69
+ GHC. Match _ _ ( GHC. L _ pats@ (_ : _) ) _ ->
71
70
GHC. srcSpanToRealSrcSpan . GHC. getLocA $ last pats
72
71
_ -> Nothing
73
72
74
73
75
74
--------------------------------------------------------------------------------
76
75
matchSeparator :: GHC. EpAnn GHC. GrhsAnn -> Maybe GHC. RealSrcSpan
77
- matchSeparator GHC. EpAnn {.. }
78
- | GHC. AddEpAnn _ (GHC. EpaSpan (GHC. RealSrcSpan s _)) <- GHC. ga_sep anns = Just s
79
- matchSeparator _ = Nothing
80
-
76
+ matchSeparator GHC. EpAnn {.. } = case GHC. ga_sep anns of
77
+ Left ( GHC. EpTok (GHC. EpaSpan (GHC. RealSrcSpan s _))) -> Just s
78
+ Right ( GHC. EpUniTok ( GHC. EpaSpan ( GHC. RealSrcSpan s _)) _) -> Just s
79
+ _ -> Nothing
81
80
82
81
--------------------------------------------------------------------------------
83
82
step :: Step
84
- step = makeStep " Squash" $ \ ls ( module') ->
83
+ step = makeStep " Squash" $ \ ls module' ->
85
84
let changes =
86
85
foldMap squashFieldDecl (everything module') <>
87
86
foldMap squashMatch (everything module') in
0 commit comments