New debug flag: -dshow-rn-imports, dump to stderr the paths to the interface files that are slurped.
opt_D_dump_tc,
opt_D_show_passes,
opt_D_show_rn_trace,
opt_D_dump_tc,
opt_D_show_passes,
opt_D_show_rn_trace,
opt_D_simplifier_stats,
opt_D_source_stats,
opt_D_verbose_core2core,
opt_D_simplifier_stats,
opt_D_source_stats,
opt_D_verbose_core2core,
opt_D_dump_tc = lookUp SLIT("-ddump-tc")
opt_D_show_passes = lookUp SLIT("-dshow-passes")
opt_D_show_rn_trace = lookUp SLIT("-dshow-rn-trace")
opt_D_dump_tc = lookUp SLIT("-ddump-tc")
opt_D_show_passes = lookUp SLIT("-dshow-passes")
opt_D_show_rn_trace = lookUp SLIT("-dshow-rn-trace")
+opt_D_show_rn_imports = lookUp SLIT("-dshow-rn-imports")
opt_D_simplifier_stats = lookUp SLIT("-dsimplifier-stats")
opt_D_source_stats = lookUp SLIT("-dsource-stats")
opt_D_verbose_core2core = lookUp SLIT("-dverbose-simpl")
opt_D_simplifier_stats = lookUp SLIT("-dsimplifier-stats")
opt_D_source_stats = lookUp SLIT("-dsource-stats")
opt_D_verbose_core2core = lookUp SLIT("-dverbose-simpl")
#include "HsVersions.h"
import CmdLineOpts ( opt_PruneTyDecls, opt_PruneInstDecls,
#include "HsVersions.h"
import CmdLineOpts ( opt_PruneTyDecls, opt_PruneInstDecls,
+ opt_D_show_rn_imports, opt_IgnoreIfacePragmas
)
import HsSyn ( HsDecl(..), TyDecl(..), ClassDecl(..), InstDecl(..), IfaceSig(..),
HsType(..), ConDecl(..), IE(..), ConDetails(..), Sig(..),
)
import HsSyn ( HsDecl(..), TyDecl(..), ClassDecl(..), InstDecl(..), IfaceSig(..),
HsType(..), ConDecl(..), IE(..), ConDetails(..), Sig(..),
file_path = dir ++ '/' : moduleString mod_name ++ (mod_suffix hisuf)
\end{code}
file_path = dir ++ '/' : moduleString mod_name ++ (mod_suffix hisuf)
\end{code}
-@readIface@ trys just one file.
+@readIface@ tries just the one file.
\begin{code}
readIface :: String -> RnMG (Maybe ParsedIface)
-- Nothing <=> file not found, or unreadable, or illegible
-- Just x <=> successfully found and parsed
readIface file_path
\begin{code}
readIface :: String -> RnMG (Maybe ParsedIface)
-- Nothing <=> file not found, or unreadable, or illegible
-- Just x <=> successfully found and parsed
readIface file_path
- = ioToRnMG (hGetStringBuffer file_path) `thenRn` \ read_result ->
- --traceRn (hcat[ptext SLIT("Opening...."), text file_path]) `thenRn_`
+ = ioToRnMG (hGetStringBuffer file_path) `thenRn` \ read_result ->
case read_result of
Right contents ->
case parseIface contents (mkSrcLoc (mkFastString file_path) 1) of
case read_result of
Right contents ->
case parseIface contents (mkSrcLoc (mkFastString file_path) 1) of
- Failed err ->
- failWithRn Nothing err
+ Failed err -> failWithRn Nothing err
Succeeded (PIface iface) ->
Succeeded (PIface iface) ->
+ if opt_D_show_rn_imports then
+ putDocRn (hcat[ptext SLIT("Read "), text file_path]) `thenRn_`
+ returnRn (Just iface)
+ else
+ returnRn (Just iface)
Left err ->
if isDoesNotExistError err then
Left err ->
if isDoesNotExistError err then