aboutsummaryrefslogtreecommitdiff
path: root/src/HaskellCodeExplorer/GhcUtils.hs
diff options
context:
space:
mode:
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)