X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FHscTypes.lhs;h=3673b3ee7ae3d86e7774efa481fb6c63f1b60c75;hb=2c1c4d3540e5671274d45a473f1d1da5d37f76c1;hp=8a17a4012c5db6077f1337bef65b78f24d9f9a04;hpb=add9b7f13aad3a6ec5fdb4512c79ee9c5d95b3d4;p=ghc-hetmet.git diff --git a/compiler/main/HscTypes.lhs b/compiler/main/HscTypes.lhs index 8a17a40..3673b3e 100644 --- a/compiler/main/HscTypes.lhs +++ b/compiler/main/HscTypes.lhs @@ -130,7 +130,7 @@ import DriverPhases ( HscSource(..), isHsBoot, hscSourceString, Phase ) import BasicTypes ( IPName, defaultFixity, WarningTxt(..) ) import OptimizationFuel ( OptFuelState ) import IfaceSyn -import CoreSyn ( CoreRule ) +import CoreSyn ( CoreRule, CoreVect ) import Maybes ( orElse, expectJust, catMaybes ) import Outputable import BreakArray @@ -547,14 +547,22 @@ data FindResult -- ^ The requested package was not found | FoundMultiple [PackageId] -- ^ _Error_: both in multiple packages - | NotFound [FilePath] (Maybe PackageId) [PackageId] [PackageId] - -- ^ The module was not found, including either - -- * the specified places were searched - -- * the package that this module should have been in - -- * list of packages in which the module was hidden, - -- * list of hidden packages containing this module - | NotFoundInPackage PackageId - -- ^ The module was not found in this package + + | NotFound -- Not found + { fr_paths :: [FilePath] -- Places where I looked + + , fr_pkg :: Maybe PackageId -- Just p => module is in this package's + -- manifest, but couldn't find + -- the .hi file + + , fr_mods_hidden :: [PackageId] -- Module is in these packages, + -- but the *module* is hidden + + , fr_pkgs_hidden :: [PackageId] -- Module is in these packages, + -- but the *package* is hidden + + , fr_suggestions :: [Module] -- Possible mis-spelled modules + } -- | Cache that remembers where we found a particular module. Contains both -- home modules and package modules. On @:load@, only home modules are @@ -730,9 +738,11 @@ data ModGuts mg_binds :: ![CoreBind], -- ^ Bindings for this module mg_foreign :: !ForeignStubs, -- ^ Foreign exports declared in this module mg_warns :: !Warnings, -- ^ Warnings declared in the module - mg_anns :: [Annotation], -- ^ Annotations declared in this module - mg_hpc_info :: !HpcInfo, -- ^ Coverage tick boxes in the module + mg_anns :: [Annotation], -- ^ Annotations declared in this module + mg_hpc_info :: !HpcInfo, -- ^ Coverage tick boxes in the module mg_modBreaks :: !ModBreaks, -- ^ Breakpoints for the module + mg_vect_decls:: ![CoreVect], -- ^ Vectorisation declarations in this module + -- (produced by desugarer & consumed by vectoriser) mg_vect_info :: !VectInfo, -- ^ Pool of vectorised declarations in the module -- The next two fields are unusual, because they give instance @@ -852,17 +862,21 @@ emptyModIface mod -- | Interactive context, recording information relevant to GHCi data InteractiveContext = InteractiveContext { - ic_toplev_scope :: [Module], -- ^ The context includes the "top-level" scope of + ic_toplev_scope :: [Module] -- ^ The context includes the "top-level" scope of -- these modules - ic_exports :: [(Module, Maybe (ImportDecl RdrName))], -- ^ The context includes just the exported parts of these + , ic_exports :: [(Module, Maybe (ImportDecl RdrName))] -- ^ The context includes just the exported parts of these -- modules - ic_rn_gbl_env :: GlobalRdrEnv, -- ^ The contexts' cached 'GlobalRdrEnv', built from + , ic_rn_gbl_env :: GlobalRdrEnv -- ^ The contexts' cached 'GlobalRdrEnv', built from -- 'ic_toplev_scope' and 'ic_exports' - ic_tmp_ids :: [Id] -- ^ Names bound during interaction with the user. - -- Later Ids shadow earlier ones with the same OccName. + , ic_tmp_ids :: [Id] -- ^ Names bound during interaction with the user. + -- Later Ids shadow earlier ones with the same OccName + -- Expressions are typed with these Ids in the envt + -- For runtime-debugging, these Ids may have free + -- TcTyVars of RuntimUnkSkol flavour, but no free TyVars + -- (because the typechecker doesn't expect that) #ifdef GHCI , ic_resume :: [Resume] -- ^ The stack of breakpoint contexts