refactoring.

This commit is contained in:
Kazu Yamamoto 2013-03-05 16:16:27 +09:00
parent dc0519b16d
commit efece8be9a
1 changed files with 8 additions and 14 deletions

View File

@ -75,7 +75,7 @@ initSession opt cmdOpts idirs mDepPkgs mLangExts logging file = do
df1 <- modifyFlagsWithOpts df0 cmdOpts df1 <- modifyFlagsWithOpts df0 cmdOpts
fast <- liftIO $ getFastCheck df0 file mLangExts fast <- liftIO $ getFastCheck df0 file mLangExts
let df2 = modifyFlags df1 idirs mDepPkgs fast (expandSplice opt) let df2 = modifyFlags df1 idirs mDepPkgs fast (expandSplice opt)
df3 <- setGhcFlags df2 opt df3 <- modifyFlagsWithOpts df2 $ ghcOpts opt
liftIO $ setLogger logging df3 liftIO $ setLogger logging df3
---------------------------------------------------------------- ----------------------------------------------------------------
@ -83,12 +83,12 @@ initSession opt cmdOpts idirs mDepPkgs mLangExts logging file = do
initializeFlags :: Options -> Ghc () initializeFlags :: Options -> Ghc ()
initializeFlags opt = do initializeFlags opt = do
dflags0 <- getSessionDynFlags dflags0 <- getSessionDynFlags
dflags1 <- setGhcFlags dflags0 opt dflags1 <- modifyFlagsWithOpts dflags0 $ ghcOpts opt
void $ setSessionDynFlags dflags1 void $ setSessionDynFlags dflags1
---------------------------------------------------------------- ----------------------------------------------------------------
getHeaderExtension :: DynFlags -> FilePath -> IO [String] getHeaderExtension :: DynFlags -> FilePath -> IO [HeaderExt]
getHeaderExtension dflags file = map unLoc <$> getOptionsFromFile dflags file getHeaderExtension dflags file = map unLoc <$> getOptionsFromFile dflags file
---------------------------------------------------------------- ----------------------------------------------------------------
@ -106,13 +106,6 @@ useTemplateHaskell mLangExts hdrExts = th1 || th2
---------------------------------------------------------------- ----------------------------------------------------------------
modifyFlagsWithOpts :: DynFlags -> [String] -> Ghc DynFlags
modifyFlagsWithOpts dflags cmdOpts = do
(dflags',_,_) <- parseDynamicFlags dflags (map noLoc cmdOpts)
return dflags'
----------------------------------------------------------------
-- FIXME removing Options -- FIXME removing Options
modifyFlags :: DynFlags -> [IncludeDir] -> Maybe [Package] -> Bool -> Bool -> DynFlags modifyFlags :: DynFlags -> [IncludeDir] -> Maybe [Package] -> Bool -> Bool -> DynFlags
modifyFlags d0 idirs mDepPkgs fast splice modifyFlags d0 idirs mDepPkgs fast splice
@ -146,10 +139,11 @@ addDevPkgs df pkgs = df''
---------------------------------------------------------------- ----------------------------------------------------------------
setGhcFlags :: Monad m => DynFlags -> Options -> m DynFlags modifyFlagsWithOpts :: DynFlags -> [String] -> Ghc DynFlags
setGhcFlags flagset opt = modifyFlagsWithOpts dflags cmdOpts =
do (flagset',_,_) <- parseDynamicFlags flagset (map noLoc (ghcOpts opt)) tfst <$> parseDynamicFlags dflags (map noLoc cmdOpts)
return flagset' where
tfst (a,_,_) = a
---------------------------------------------------------------- ----------------------------------------------------------------