diff options
Diffstat (limited to 'compiler/parser')
-rw-r--r-- | compiler/parser/Parser.y.pp | 8 | ||||
-rw-r--r-- | compiler/parser/ParserCore.y | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/compiler/parser/Parser.y.pp b/compiler/parser/Parser.y.pp index a750397ea3..da16bff272 100644 --- a/compiler/parser/Parser.y.pp +++ b/compiler/parser/Parser.y.pp @@ -394,7 +394,7 @@ optqualified :: { Bool } : 'qualified' { True } | {- empty -} { False } -maybeas :: { Located (Maybe Module) } +maybeas :: { Located (Maybe ModuleName) } : 'as' modid { LL (Just (unLoc $2)) } | {- empty -} { noLoc Nothing } @@ -1545,10 +1545,10 @@ close :: { () } ----------------------------------------------------------------------------- -- Miscellaneous (mostly renamings) -modid :: { Located Module } - : CONID { L1 $ mkModuleFS (getCONID $1) } +modid :: { Located ModuleName } + : CONID { L1 $ mkModuleNameFS (getCONID $1) } | QCONID { L1 $ let (mod,c) = getQCONID $1 in - mkModuleFS + mkModuleNameFS (mkFastString (unpackFS mod ++ '.':unpackFS c)) } diff --git a/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y index 02a6c7b91d..a9669b23ec 100644 --- a/compiler/parser/ParserCore.y +++ b/compiler/parser/ParserCore.y @@ -10,6 +10,7 @@ import OccName import Kind( Kind(..) ) import Name( nameOccName, nameModule ) import Module +import PackageConfig ( mainPackageId ) import ParserCoreUtils import LexCore import Literal @@ -72,7 +73,8 @@ module :: { HsExtCore RdrName } : '%module' modid tdefs vdefgs { HsExtCore $2 $3 $4 } modid :: { Module } - : CNAME { mkModuleFS (mkFastString $1) } + : CNAME { mkModule mainPackageId -- ToDo: wrong + (mkModuleNameFS (mkFastString $1)) } ------------------------------------------------------------- -- Type and newtype declarations are in HsSyn syntax |