projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2002-11-20 12:34:42 by chak]
[ghc-hetmet.git]
/
ghc
/
compiler
/
main
/
HscMain.lhs
diff --git
a/ghc/compiler/main/HscMain.lhs
b/ghc/compiler/main/HscMain.lhs
index
ebf7fb5
..
49f4a2f
100644
(file)
--- a/
ghc/compiler/main/HscMain.lhs
+++ b/
ghc/compiler/main/HscMain.lhs
@@
-28,6
+28,7
@@
import RdrHsSyn ( RdrNameStmt )
import Type ( Type )
import PrelNames ( iNTERACTIVE )
import StringBuffer ( stringToStringBuffer )
import Type ( Type )
import PrelNames ( iNTERACTIVE )
import StringBuffer ( stringToStringBuffer )
+import Name ( Name )
#endif
import HsSyn
#endif
import HsSyn
@@
-40,10
+41,10
@@
import Parser
import Lex ( ParseResult(..), ExtFlags(..), mkPState )
import SrcLoc ( mkSrcLoc )
import TcRnDriver ( checkOldIface, tcRnModule, tcRnExtCore, tcRnIface )
import Lex ( ParseResult(..), ExtFlags(..), mkPState )
import SrcLoc ( mkSrcLoc )
import TcRnDriver ( checkOldIface, tcRnModule, tcRnExtCore, tcRnIface )
+import RnEnv ( extendOrigNameCache )
import Rules ( emptyRuleBase )
import Rules ( emptyRuleBase )
-import PrelInfo ( wiredInThingEnv, wiredInThings )
+import PrelInfo ( wiredInThingEnv, wiredInThings, knownKeyNames )
import PrelRules ( builtinRules )
import PrelRules ( builtinRules )
-import PrelNames ( knownKeyNames )
import MkIface ( mkIface )
import InstEnv ( emptyInstEnv )
import Desugar
import MkIface ( mkIface )
import InstEnv ( emptyInstEnv )
import Desugar
@@
-58,7
+59,7
@@
import SimplStg ( stg2stg )
import CodeGen ( codeGen )
import CodeOutput ( codeOutput )
import CodeGen ( codeGen )
import CodeOutput ( codeOutput )
-import Module ( ModuleName, moduleName )
+import Module ( emptyModuleEnv )
import CmdLineOpts
import DriverPhases ( isExtCore_file )
import ErrUtils ( dumpIfSet_dyn, showPass, printError )
import CmdLineOpts
import DriverPhases ( isExtCore_file )
import ErrUtils ( dumpIfSet_dyn, showPass, printError )
@@
-71,9
+72,8
@@
import HscTypes
import MkExternalCore ( emitExternalCore )
import ParserCore
import ParserCoreUtils
import MkExternalCore ( emitExternalCore )
import ParserCore
import ParserCoreUtils
-import FiniteMap ( FiniteMap, plusFM, emptyFM, addToFM )
-import OccName ( OccName )
-import Name ( Name, nameModule, nameOccName, getName )
+import FiniteMap ( emptyFM )
+import Name ( nameModule, getName )
import NameEnv ( emptyNameEnv, mkNameEnv )
import NameSet ( emptyNameSet )
import Module ( Module, ModLocation(..), showModMsg )
import NameEnv ( emptyNameEnv, mkNameEnv )
import NameSet ( emptyNameSet )
import Module ( Module, ModLocation(..), showModMsg )
@@
-693,7
+693,6
@@
initExternalPackageState
eps_insts = (emptyBag, 0),
eps_inst_gates = emptyNameSet,
eps_rules = foldr add_rule (emptyBag, 0) builtinRules,
eps_insts = (emptyBag, 0),
eps_inst_gates = emptyNameSet,
eps_rules = foldr add_rule (emptyBag, 0) builtinRules,
- eps_imp_mods = emptyFM,
eps_PIT = emptyPackageIfaceTable,
eps_PTE = wiredInThingEnv,
eps_PIT = emptyPackageIfaceTable,
eps_PTE = wiredInThingEnv,
@@
-709,11
+708,11
@@
initExternalPackageState
rdr_name = nameRdrName name
gate_fn vis_fn = vis_fn name -- Load the rule whenever name is visible
rdr_name = nameRdrName name
gate_fn vis_fn = vis_fn name -- Load the rule whenever name is visible
-initOrigNames :: FiniteMap (ModuleName,OccName) Name
+initOrigNames :: OrigNameCache
initOrigNames
initOrigNames
- = grab knownKeyNames `plusFM` grab (map getName wiredInThings)
- where
- grab names = foldl add emptyFM names
- add env name
- = addToFM env (moduleName (nameModule name), nameOccName name) name
+ = insert knownKeyNames $
+ insert (map getName wiredInThings) $
+ emptyModuleEnv
+ where
+ insert names env = foldl extendOrigNameCache env names
\end{code}
\end{code}