aboutsummaryrefslogtreecommitdiff
path: root/src/HaskellCodeExplorer/GhcUtils.hs
diff options
context:
space:
mode:
authorYuchen Pei <hi@ypei.me>2022-06-02 21:43:59 +1000
committerYuchen Pei <hi@ypei.me>2022-06-02 21:43:59 +1000
commit7ee8d0cb52b3e9c08474365db4466d94d478cd2b (patch)
tree6bbd295622d6d1d5996db46f04b2edc7935ab1df /src/HaskellCodeExplorer/GhcUtils.hs
parent8a5101dc657a2c9f720fc5da4ec59fd02a59e64d (diff)
keep on hacking renamed
Diffstat (limited to 'src/HaskellCodeExplorer/GhcUtils.hs')
-rw-r--r--src/HaskellCodeExplorer/GhcUtils.hs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/HaskellCodeExplorer/GhcUtils.hs b/src/HaskellCodeExplorer/GhcUtils.hs
index 461344f..99cf7b4 100644
--- a/src/HaskellCodeExplorer/GhcUtils.hs
+++ b/src/HaskellCodeExplorer/GhcUtils.hs
@@ -123,6 +123,7 @@ import GHC
, HsDataDefn(..)
, NewOrData(..)
, Id
+ , rdrNameFieldOcc
, HsGroup(..)
, HsBindLR(..)
, HsValBindsLR(..)
@@ -480,14 +481,16 @@ hsGroupVals hsGroup =
XValBindsLR (NValBinds binds _) -> concatMap (bagToList . snd) binds
_ -> []
-hsPatSynDetails :: HsPatSynDetails GhcRn -> [Name]
+hsPatSynDetails :: HsPatSynDetails GhcRn -> [Located Name]
hsPatSynDetails patDetails =
case patDetails of
- InfixCon name1 name2 -> [unLoc name1, unLoc name2]
- PrefixCon _ fields -> unLoc <$> fields
+ InfixCon name1 name2 -> [reLocN name1, reLocN name2]
+ PrefixCon _ fields -> reLocN <$> fields
RecCon fields -> concatMap
- (\field -> [extFieldOcc $ recordPatSynField field,
- unLoc $ recordPatSynPatVar field])
+ (\field -> [
+ L ((getLocA . rdrNameFieldOcc . recordPatSynField) field)
+ (extFieldOcc $ recordPatSynField field),
+ reLocN $ recordPatSynPatVar field])
fields
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)