@@ -30,14 +30,13 @@ import qualified Data.List.NonEmpty as NE
3030import Data.Set (Set )
3131import qualified Data.Set as S
3232import Data.Text (Text )
33- import qualified Data.Text as T
3433
3534import Data.Generics.Uniplate.Data (universeBi )
3635
3736import qualified GHC.Hs as Hs
38- import GHC.Types.Name.Occurrence (occNameString )
39- import GHC.Types.Name.Reader (RdrName , rdrNameOcc )
4037import GHC.Types.SrcLoc (unLoc )
38+ import Sabela.Parse.Ast.Names (rdrText )
39+ import qualified Sabela.Parse.Ast.PatNodeBinders as PatNodeBinders
4140
4241-- ---------------------------------------------------------------------------
4342-- Module-level extraction
@@ -147,11 +146,7 @@ bumps — sub-patterns are reached generically rather than by hand-coded
147146constructor matching.
148147-}
149148patNodeBinders :: Hs. Pat Hs. GhcPs -> Set Text
150- patNodeBinders = \ case
151- Hs. VarPat _ ln -> S. singleton (rdrText (unLoc ln))
152- Hs. AsPat _ ln _ _ -> S. singleton (rdrText (unLoc ln))
153- Hs. NPlusKPat _ ln _ _ _ _ -> S. singleton (rdrText (unLoc ln))
154- _ -> S. empty
149+ patNodeBinders = PatNodeBinders. patNodeBinders
155150
156151-- | Recursive pattern-binder extraction (every level of nesting).
157152patBinders :: Hs. Pat Hs. GhcPs -> Set Text
@@ -195,11 +190,3 @@ collectBinders x = S.unions [bindersFromBind, bindersFromPat, bindersFromTyCl]
195190 [ tyClBinders t
196191 | t <- universeBi x :: [Hs. TyClDecl Hs. GhcPs ]
197192 ]
198-
199- -- ---------------------------------------------------------------------------
200- -- Names
201- -- ---------------------------------------------------------------------------
202-
203- -- | Convert an 'RdrName' to its bare @OccName@ as 'Text'.
204- rdrText :: RdrName -> Text
205- rdrText = T. pack . occNameString . rdrNameOcc
0 commit comments