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 -- |Non-crashing version of coreCtor coreCtorMaybe :: Core -> CoreCtorName -> Maybe CoreCtor coreCtorMaybe core name = listToMaybe [ctr | dat <- coreDatas core, ctr <- coreDataCtors dat, coreCtorName ctr == name] -- |Non-crashing version of coreData coreDataMaybe :: Core -> CoreDataName -> Maybe CoreData coreDataMaybe core name = listToMaybe [dat | dat <- coreDatas core, coreDataName dat == name]