diff options
author | Yuchen Pei <hi@ypei.me> | 2022-06-02 21:43:59 +1000 |
---|---|---|
committer | Yuchen Pei <hi@ypei.me> | 2022-06-02 21:43:59 +1000 |
commit | 7ee8d0cb52b3e9c08474365db4466d94d478cd2b (patch) | |
tree | 6bbd295622d6d1d5996db46f04b2edc7935ab1df /src/HaskellCodeExplorer/GhcUtils.hs | |
parent | 8a5101dc657a2c9f720fc5da4ec59fd02a59e64d (diff) |
keep on hacking renamed
Diffstat (limited to 'src/HaskellCodeExplorer/GhcUtils.hs')
-rw-r--r-- | src/HaskellCodeExplorer/GhcUtils.hs | 13 |
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) |