From ed5f858b8484a207e28baf9cbec4c60de1c86187 Mon Sep 17 00:00:00 2001 From: Shayne Fletcher Date: Tue, 7 May 2019 17:35:50 -0400 Subject: Implement ImportQualifiedPost --- compiler/main/DynFlags.hs | 7 ++++++- compiler/main/HeaderInfo.hs | 2 +- compiler/main/HscStats.hs | 7 ++++--- 3 files changed, 11 insertions(+), 5 deletions(-) (limited to 'compiler/main') diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 01750a8bd0..1a62d9b15f 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -843,6 +843,7 @@ data WarningFlag = | Opt_WarnImplicitKindVars -- Since 8.6 | Opt_WarnSpaceAfterBang | Opt_WarnMissingDerivingStrategies -- Since 8.8 + | Opt_WarnPrepositiveQualifiedModule -- Since TBD deriving (Eq, Show, Enum) data Language = Haskell98 | Haskell2010 @@ -4070,7 +4071,10 @@ wWarningFlagsDeps = [ flagSpec "star-binder" Opt_WarnStarBinder, flagSpec "star-is-type" Opt_WarnStarIsType, flagSpec "missing-space-after-bang" Opt_WarnSpaceAfterBang, - flagSpec "partial-fields" Opt_WarnPartialFields ] + flagSpec "partial-fields" Opt_WarnPartialFields, + flagSpec "prepositive-qualified-module" + Opt_WarnPrepositiveQualifiedModule + ] -- | These @-\@ flags can all be reversed with @-no-\@ negatableFlagsDeps :: [(Deprecation, FlagSpec GeneralFlag)] @@ -4396,6 +4400,7 @@ xFlagsDeps = [ setGenDeriving, flagSpec "ImplicitParams" LangExt.ImplicitParams, flagSpec "ImplicitPrelude" LangExt.ImplicitPrelude, + flagSpec "ImportQualifiedPost" LangExt.ImportQualifiedPost, flagSpec "ImpredicativeTypes" LangExt.ImpredicativeTypes, flagSpec' "IncoherentInstances" LangExt.IncoherentInstances setIncoherentInsts, diff --git a/compiler/main/HeaderInfo.hs b/compiler/main/HeaderInfo.hs index 450ac95f96..e5e5efd753 100644 --- a/compiler/main/HeaderInfo.hs +++ b/compiler/main/HeaderInfo.hs @@ -131,7 +131,7 @@ mkPrelImports this_mod loc implicit_prelude import_decls ideclPkgQual = Nothing, ideclSource = False, ideclSafe = False, -- Not a safe import - ideclQualified = False, + ideclQualified = NotQualified, ideclImplicit = True, -- Implicit! ideclAs = Nothing, ideclHiding = Nothing } diff --git a/compiler/main/HscStats.hs b/compiler/main/HscStats.hs index 44edb82c5e..fdd5ee78e2 100644 --- a/compiler/main/HscStats.hs +++ b/compiler/main/HscStats.hs @@ -126,9 +126,10 @@ ppSourceStats short (dL->L _ (HsModule _ exports imports ldecls _ _)) import_info _ = panic " import_info: Impossible Match" -- due to #15884 - safe_info = qual_info - qual_info False = 0 - qual_info True = 1 + safe_info False = 0 + safe_info True = 1 + qual_info NotQualified = 0 + qual_info _ = 1 as_info Nothing = 0 as_info (Just _) = 1 spec_info Nothing = (0,0,0,0,1,0,0) -- cgit v1.2.1