diff options
Diffstat (limited to 'compiler/main/DynamicLoading.hs')
| -rw-r--r-- | compiler/main/DynamicLoading.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/main/DynamicLoading.hs b/compiler/main/DynamicLoading.hs index ea09a8ceb5..c4d370cca0 100644 --- a/compiler/main/DynamicLoading.hs +++ b/compiler/main/DynamicLoading.hs @@ -69,8 +69,12 @@ initializePlugins hsc_env df = return df -- no need to reload plugins | otherwise = do loadedPlugins <- loadPlugins (hsc_env { hsc_dflags = df }) - return $ df { cachedPlugins = loadedPlugins } + let df' = df { cachedPlugins = loadedPlugins } + df'' <- withPlugins df' runDflagsPlugin df' + return df'' + where argumentsForPlugin p = map snd . filter ((== lpModuleName p) . fst) + runDflagsPlugin p opts dynflags = dynflagsPlugin p opts dynflags loadPlugins :: HscEnv -> IO [LoadedPlugin] loadPlugins hsc_env |
