summaryrefslogtreecommitdiff
path: root/compiler/parser
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/parser')
-rw-r--r--compiler/parser/ParserCore.y21
1 files changed, 9 insertions, 12 deletions
diff --git a/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y
index cd76284df8..99efa7a4ae 100644
--- a/compiler/parser/ParserCore.y
+++ b/compiler/parser/ParserCore.y
@@ -15,19 +15,20 @@ import RdrHsSyn
import HsSyn
import RdrName
import OccName
+import TypeRep ( TyThing(..) )
import Type ( Kind,
liftedTypeKindTyCon, openTypeKindTyCon, unliftedTypeKindTyCon,
argTypeKindTyCon, ubxTupleKindTyCon, mkTyConApp
)
import Coercion( mkArrowKind )
-import Name( Name, nameOccName, nameModule, mkExternalName )
+import Name( Name, nameOccName, nameModule, mkExternalName, wiredInNameTyThing_maybe )
import Module
import ParserCoreUtils
import LexCore
import Literal
import SrcLoc
-import TysPrim( wordPrimTyCon, intPrimTyCon, charPrimTyCon,
- floatPrimTyCon, doublePrimTyCon, addrPrimTyCon )
+import PrelNames
+import TysPrim
import TyCon ( TyCon, tyConName )
import FastString
import Outputable
@@ -362,18 +363,14 @@ toKind (IfaceTyConApp ifKc []) = mkTyConApp (toKindTc ifKc) []
toKind other = pprPanic "toKind" (ppr other)
toKindTc :: IfaceTyCon -> TyCon
-toKindTc IfaceLiftedTypeKindTc = liftedTypeKindTyCon
-toKindTc IfaceOpenTypeKindTc = openTypeKindTyCon
-toKindTc IfaceUnliftedTypeKindTc = unliftedTypeKindTyCon
-toKindTc IfaceUbxTupleKindTc = ubxTupleKindTyCon
-toKindTc IfaceArgTypeKindTc = argTypeKindTyCon
-toKindTc other = pprPanic "toKindTc" (ppr other)
+toKindTc (IfaceTc n) | Just (ATyCon tc) <- wiredInNameTyThing_maybe n = tc
+toKindTc other = pprPanic "toKindTc" (ppr other)
ifaceTcType ifTc = IfaceTyConApp ifTc []
-ifaceLiftedTypeKind = ifaceTcType IfaceLiftedTypeKindTc
-ifaceOpenTypeKind = ifaceTcType IfaceOpenTypeKindTc
-ifaceUnliftedTypeKind = ifaceTcType IfaceUnliftedTypeKindTc
+ifaceLiftedTypeKind = ifaceTcType (IfaceTc liftedTypeKindTyConName)
+ifaceOpenTypeKind = ifaceTcType (IfaceTc openTypeKindTyConName)
+ifaceUnliftedTypeKind = ifaceTcType (IfaceTc unliftedTypeKindTyConName)
ifaceArrow ifT1 ifT2 = IfaceFunTy ifT1 ifT2