module Distribution.Types.Benchmark.Lens ( Benchmark, module Distribution.Types.Benchmark.Lens, ) where import Distribution.Compat.Lens import Distribution.Compat.Prelude import Prelude () import Distribution.Types.Benchmark (Benchmark) import Distribution.Types.BenchmarkInterface (BenchmarkInterface) import Distribution.Types.BuildInfo (BuildInfo) import Distribution.Types.UnqualComponentName (UnqualComponentName) import qualified Distribution.Types.Benchmark as T benchmarkName :: Lens' Benchmark UnqualComponentName benchmarkName :: LensLike f Benchmark Benchmark UnqualComponentName UnqualComponentName benchmarkName UnqualComponentName -> f UnqualComponentName f Benchmark s = (UnqualComponentName -> Benchmark) -> f UnqualComponentName -> f Benchmark forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap (\UnqualComponentName x -> Benchmark s { benchmarkName :: UnqualComponentName T.benchmarkName = UnqualComponentName x }) (UnqualComponentName -> f UnqualComponentName f (Benchmark -> UnqualComponentName T.benchmarkName Benchmark s)) {-# INLINE benchmarkName #-} benchmarkInterface :: Lens' Benchmark BenchmarkInterface benchmarkInterface :: LensLike f Benchmark Benchmark BenchmarkInterface BenchmarkInterface benchmarkInterface BenchmarkInterface -> f BenchmarkInterface f Benchmark s = (BenchmarkInterface -> Benchmark) -> f BenchmarkInterface -> f Benchmark forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap (\BenchmarkInterface x -> Benchmark s { benchmarkInterface :: BenchmarkInterface T.benchmarkInterface = BenchmarkInterface x }) (BenchmarkInterface -> f BenchmarkInterface f (Benchmark -> BenchmarkInterface T.benchmarkInterface Benchmark s)) {-# INLINE benchmarkInterface #-} benchmarkBuildInfo :: Lens' Benchmark BuildInfo benchmarkBuildInfo :: LensLike f Benchmark Benchmark BuildInfo BuildInfo benchmarkBuildInfo BuildInfo -> f BuildInfo f Benchmark s = (BuildInfo -> Benchmark) -> f BuildInfo -> f Benchmark forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap (\BuildInfo x -> Benchmark s { benchmarkBuildInfo :: BuildInfo T.benchmarkBuildInfo = BuildInfo x }) (BuildInfo -> f BuildInfo f (Benchmark -> BuildInfo T.benchmarkBuildInfo Benchmark s)) {-# INLINE benchmarkBuildInfo #-}