From 765c1de855eecaccbaa08da9c0fa70ffc97bc855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Ackerman?= <m@akr.mn> Date: Mon, 12 Jun 2023 15:38:37 +0200 Subject: [PATCH] Introduce genLHsApp and genLHsLit helpers in GHC.Rename.Utils (cherry picked from commit 3efe7f399a53ec7930c8a333ad2c114d956f0c2a) --- compiler/GHC/Rename/Utils.hs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/compiler/GHC/Rename/Utils.hs b/compiler/GHC/Rename/Utils.hs index 9e2a0b0f269..b87bb72d045 100644 --- a/compiler/GHC/Rename/Utils.hs +++ b/compiler/GHC/Rename/Utils.hs @@ -18,8 +18,9 @@ module GHC.Rename.Utils ( warnForallIdentifier, checkUnusedRecordWildcard, badQualBndrErr, typeAppErr, badFieldConErr, - wrapGenSpan, genHsVar, genLHsVar, genHsApp, genHsApps, genAppType, - genHsIntegralLit, genHsTyLit, genSimpleConPat, + wrapGenSpan, genHsVar, genLHsVar, genHsApp, genHsApps, genLHsApp, + genAppType, + genLHsLit, genHsIntegralLit, genHsTyLit, genSimpleConPat, genVarPat, genWildPat, genSimpleFunBind, genFunBind, @@ -572,6 +573,9 @@ genHsApps fun args = foldl genHsApp (genHsVar fun) args genHsApp :: HsExpr GhcRn -> LHsExpr GhcRn -> HsExpr GhcRn genHsApp fun arg = HsApp noAnn (wrapGenSpan fun) arg +genLHsApp :: HsExpr GhcRn -> LHsExpr GhcRn -> LHsExpr GhcRn +genLHsApp fun arg = wrapGenSpan (genHsApp fun arg) + genLHsVar :: Name -> LHsExpr GhcRn genLHsVar nm = wrapGenSpan $ genHsVar nm @@ -581,8 +585,11 @@ genHsVar nm = HsVar noExtField $ wrapGenSpan nm genAppType :: HsExpr GhcRn -> HsType (NoGhcTc GhcRn) -> HsExpr GhcRn genAppType expr ty = HsAppType noExtField (wrapGenSpan expr) noHsTok (mkEmptyWildCardBndrs (wrapGenSpan ty)) +genLHsLit :: HsLit GhcRn -> LocatedAn an (HsExpr GhcRn) +genLHsLit = wrapGenSpan . HsLit noAnn + genHsIntegralLit :: IntegralLit -> LocatedAn an (HsExpr GhcRn) -genHsIntegralLit lit = wrapGenSpan $ HsLit noAnn (HsInt noExtField lit) +genHsIntegralLit = genLHsLit . HsInt noExtField genHsTyLit :: FastString -> HsType GhcRn genHsTyLit = HsTyLit noExtField . HsStrTy NoSourceText -- GitLab