module Yhc.Core.Extra (module X, coreCtorMaybe, coreDataMaybe) where
import Yhc.Core as X
import Yhc.Core.MapNames as X
import Yhc.Core.Unreachable as X
import Yhc.Core.Annotation as X
import Yhc.Core.AnnotatePrims as X
import Yhc.Core.StrictAnno as X
import Yhc.Core.Selector as X
import Data.Maybe
coreCtorMaybe :: Core -> CoreCtorName -> Maybe CoreCtor
coreCtorMaybe core name = listToMaybe
[ctr | dat <- coreDatas core, ctr <- coreDataCtors dat, coreCtorName ctr == name]
coreDataMaybe :: Core -> CoreDataName -> Maybe CoreData
coreDataMaybe core name = listToMaybe
[dat | dat <- coreDatas core, coreDataName dat == name]