#include "HsVersions.h"
import Var ( TyVar, mkSysTyVar )
-import Name ( mkWiredInTyConName )
-import OccName ( mkSrcOccFS, tcName )
+import OccName ( tcName )
import PrimRep ( PrimRep(..), isFollowableRep )
import TyCon ( mkPrimTyCon, TyCon, ArgVrcs )
-import Type ( Type,
- mkTyConApp, mkTyConTy, mkTyVarTys, mkTyVarTy,
+import Type ( mkTyConApp, mkTyConTy, mkTyVarTys, mkTyVarTy,
unboxedTypeKind, boxedTypeKind, openTypeKind, mkArrowKinds
)
import Unique ( Unique, mkAlphaTyVarUnique )
+import Name ( mkKnownKeyGlobal )
+import RdrName ( mkPreludeQual )
import PrelNames
import Outputable
\end{code}
pcPrimTyCon key str arity arg_vrcs rep
= the_tycon
where
- name = mkWiredInTyConName key pREL_GHC (mkSrcOccFS tcName str) the_tycon
+ name = mkKnownKeyGlobal (mkPreludeQual tcName pREL_GHC_Name str) key
the_tycon = mkPrimTyCon name kind arity arg_vrcs rep
kind = mkArrowKinds (take arity (repeat boxedTypeKind)) result_kind
result_kind | isFollowableRep rep = boxedTypeKind -- Represented by a GC-ish ptr