{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} module GHC.Builtin.Imports ( module GHC.Builtin.Imports , module Imports ) where import Data.Word import Language.Haskell.Syntax.Module.Name import GHC.Data.FastString import GHC.Types.Unique import GHC.Unit.Types as Imports import GHC.Types.Name as Imports import GHC.Types.SrcLoc as Imports external :: Word64 -> Unit -> FastString -> NameSpace -> FastString -> SrcSpan -> Name external :: Word64 -> Unit -> FastString -> NameSpace -> FastString -> SrcSpan -> Name external Word64 unique Unit unit FastString module_ NameSpace t FastString name = Unique -> Module -> OccName -> SrcSpan -> Name mkExternalName (Word64 -> Unique mkUniqueGrimily Word64 unique) (Unit -> ModuleName -> Module forall unit. unit -> ModuleName -> GenModule unit Module Unit unit (ModuleName -> Module) -> ModuleName -> Module forall a b. (a -> b) -> a -> b $ FastString -> ModuleName ModuleName FastString module_) (NameSpace -> FastString -> OccName mkOccNameFS NameSpace t FastString name) #if __GLASGOW_HASKELL__ >= 912 baseUnit :: Unit baseUnit = fsToUnit "base" thUnit :: Unit thUnit = fsToUnit "template-haskell" #endif #if __GLASGOW_HASKELL__ == 908 ghcInternalUnit :: Unit ghcInternalUnit :: Unit ghcInternalUnit = FastString -> Unit fsToUnit FastString "ghc-internal" #endif