{-# LANGUAGE DeriveGeneric #-} module FFICXX.Generate.Type.Config where import Data.Hashable (Hashable(..)) import Data.HashMap.Strict (HashMap) import GHC.Generics (Generic) -- import FFICXX.Generate.Type.PackageInterface (HeaderName(..),Namespace(..)) data ModuleUnit = MU_TopLevel | MU_Class String deriving (Show,Eq,Generic) instance Hashable ModuleUnit data ModuleUnitImports = ModuleUnitImports { muimports_namespaces :: [Namespace] , muimports_headers :: [HeaderName] } deriving (Show) emptyModuleUnitImports = ModuleUnitImports [] [] newtype ModuleUnitMap = ModuleUnitMap { unModuleUnitMap :: HashMap ModuleUnit ModuleUnitImports }