@@ -49,7 +49,6 @@ p_ieWrappedName = \case
49p_rdrName :: Located RdrName -> R ()
49p_rdrName :: Located RdrName -> R ()
50p_rdrName l@(L spn _) = located l $ \x -> do
50p_rdrName l@(L spn _) = located l $ \x -> do
51 ids <- getAnns spn
51 ids <- getAnns spn
52− -- NOTE Right now we're mainly interested in backticks and parentheses.
53 let backticksWrapper =
52 let backticksWrapper =
54 if AnnBackquote `elem` ids
53 if AnnBackquote `elem` ids
55 then backticks
54 then backticks
@@ -58,6 +57,12 @@ p_rdrName l@(L spn _) = located l $ \x -> do
58 if AnnOpenP `elem` ids
57 if AnnOpenP `elem` ids
59 then parens
58 then parens
61+ if AnnSimpleQuote `elem` ids
61 (m, avoidParens) =
66 (m, avoidParens) =
63 Unqual occName ->
68 Unqual occName ->
@@ -80,9 +85,10 @@ p_rdrName l@(L spn _) = located l $ \x -> do
80 ( atom name
85 ( atom name
81 , "$ghc-prim$GHC.Tuple$" `isPrefixOf` nameStableString name
86 , "$ghc-prim$GHC.Tuple$" `isPrefixOf` nameStableString name
88+ m' = backticksWrapper (singleQuoteWrapper m)
83 if avoidParens
89 if avoidParens
85− else parensWrapper (backticksWrapper m)
91+ else parensWrapper m'
87p_qualName :: ModuleName -> OccName -> R ()
93p_qualName :: ModuleName -> OccName -> R ()
88p_qualName mname occName = do
94p_qualName mname occName = do