diff options
author | Edward Z. Yang <ezyang@cs.stanford.edu> | 2015-03-06 20:01:12 -0800 |
---|---|---|
committer | Edward Z. Yang <ezyang@cs.stanford.edu> | 2015-03-07 11:30:39 -0800 |
commit | 68d4f47212633d101c5f4963dbfccf0fb9a8580f (patch) | |
tree | 3d1a478f2d5719a6442ec94e3cd8c0889aba515f | |
parent | e642de625651c4af0e42932d447d1f53b218aebf (diff) | |
download | haskell-68d4f47212633d101c5f4963dbfccf0fb9a8580f.tar.gz |
Store renamings as (ModuleName, ModuleName) pairs.
Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate
Reviewers: austin, simonpj
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D710
-rw-r--r-- | compiler/main/DynFlags.hs | 15 | ||||
-rw-r--r-- | compiler/main/Packages.hs | 8 |
2 files changed, 11 insertions, 12 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 04445c8cdc..74e0ce6cf5 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -1109,8 +1109,8 @@ data PackageArg = PackageArg String | PackageKeyArg String deriving (Eq, Show) -data ModRenaming = ModRenaming Bool [(String, String)] - deriving (Eq, Show) +data ModRenaming = ModRenaming Bool [(ModuleName, ModuleName)] + deriving (Eq) data PackageFlag = ExposePackage PackageArg ModRenaming @@ -1118,7 +1118,7 @@ data PackageFlag | IgnorePackage String | TrustPackage String | DistrustPackage String - deriving (Eq, Show) + deriving (Eq) defaultHscTarget :: Platform -> HscTarget defaultHscTarget = defaultObjectTarget @@ -1928,12 +1928,12 @@ parseSigOf str = case filter ((=="").snd) (readP_to_S parse str) of -- ToDo: deprecate this 'is' syntax? tok $ ((string "is" >> return ()) +++ (R.char '=' >> return ())) m <- tok $ parseModule - return (mkModuleName n, m) + return (n, m) parseModule = do pk <- munch1 (\c -> isAlphaNum c || c `elem` "-_") _ <- R.char ':' m <- parseModuleName - return (mkModule (stringToPackageKey pk) (mkModuleName m)) + return (mkModule (stringToPackageKey pk) m) tok m = skipSpaces >> m setSigOf :: String -> DynFlags -> DynFlags @@ -3683,8 +3683,9 @@ removeGlobalPkgConf = upd $ \s -> s { extraPkgConfs = filter isNotGlobal . extra clearPkgConf :: DynP () clearPkgConf = upd $ \s -> s { extraPkgConfs = const [] } -parseModuleName :: ReadP String -parseModuleName = munch1 (\c -> isAlphaNum c || c `elem` ".") +parseModuleName :: ReadP ModuleName +parseModuleName = fmap mkModuleName + $ munch1 (\c -> isAlphaNum c || c `elem` ".") parsePackageFlag :: (String -> PackageArg) -- type of argument -> String -- string to parse diff --git a/compiler/main/Packages.hs b/compiler/main/Packages.hs index 42aa0a1d80..e36221bac2 100644 --- a/compiler/main/Packages.hs +++ b/compiler/main/Packages.hs @@ -502,10 +502,8 @@ applyPackageFlag dflags unusable (pkgs, vm) flag = Right (p:_,_) -> return (pkgs, vm') where n = fsPackageName p - vm' = addToUFM_C edit vm_cleared (packageConfigId p) - (b, map convRn rns, n) + vm' = addToUFM_C edit vm_cleared (packageConfigId p) (b, rns, n) edit (b, rns, n) (b', rns', _) = (b || b', rns ++ rns', n) - convRn (a,b) = (mkModuleName a, mkModuleName b) -- ToDo: ATM, -hide-all-packages implicitly triggers change in -- behavior, maybe eventually make it toggleable with a separate -- flag @@ -611,8 +609,8 @@ pprFlag flag = case flag of ppr_rns (ModRenaming b rns) = if b then text "with" else Outputable.empty <+> char '(' <> hsep (punctuate comma (map ppr_rn rns)) <> char ')' - ppr_rn (orig, new) | orig == new = text orig - | otherwise = text orig <+> text "as" <+> text new + ppr_rn (orig, new) | orig == new = ppr orig + | otherwise = ppr orig <+> text "as" <+> ppr new -- ----------------------------------------------------------------------------- -- Wired-in packages |