module CmTypes (
Unlinked(..), isObject, nameOfObject, isInterpretable,
Linkable(..), linkableTime,
- ModSummary(..), name_of_summary, pprSummaryTime
+ ModSummary(..), ms_allimps, name_of_summary, pprSummaryTime
) where
import Interpreter
import HscTypes
import Module
-import CmStaticInfo
+--import CmStaticInfo
import Outputable
import Time ( ClockTime )
= DotO FilePath
| DotA FilePath
| DotDLL FilePath
- | Trees [UnlinkedIBind] ItblEnv -- bunch of interpretable bindings, +
- -- a mapping from DataCons to their itbls
+ | BCOs [UnlinkedBCO] ItblEnv -- bunch of interpretable bindings, +
+ -- a mapping from DataCons to their itbls
instance Outputable Unlinked where
ppr (DotO path) = text "DotO" <+> text path
ppr (DotA path) = text "DotA" <+> text path
ppr (DotDLL path) = text "DotDLL" <+> text path
- ppr (Trees binds _) = text "Trees" <+> ppr binds
+ ppr (BCOs bcos _) = text "BCOs" <+> vcat (map ppr bcos)
isObject (DotO _) = True
isObject (DotA _) = True
nameOfObject (DotA fn) = fn
nameOfObject (DotDLL fn) = fn
-isInterpretable (Trees _ _) = True
-isInterpretable _ = False
+isInterpretable (BCOs _ _) = True
+isInterpretable _ = False
data Linkable
= LM ClockTime ModuleName [Unlinked]
pprSummaryTime ms
= text "ms_hs_date = " <> parens (text (show (ms_hs_date ms)))
+ms_allimps ms
+ = ms_srcimps ms ++ ms_imps ms
+
name_of_summary :: ModSummary -> ModuleName
name_of_summary = moduleName . ms_mod
\end{code}