1module Distribution.Types.Benchmark.Lens (
2    Benchmark,
3    module Distribution.Types.Benchmark.Lens,
4    ) where
5
6import Distribution.Compat.Lens
7import Distribution.Compat.Prelude
8import Prelude ()
9
10import Distribution.Types.Benchmark           (Benchmark)
11import Distribution.Types.BenchmarkInterface  (BenchmarkInterface)
12import Distribution.Types.BuildInfo           (BuildInfo)
13import Distribution.Types.UnqualComponentName (UnqualComponentName)
14
15import qualified Distribution.Types.Benchmark as T
16
17benchmarkName :: Lens' Benchmark UnqualComponentName
18benchmarkName f s = fmap (\x -> s { T.benchmarkName = x }) (f (T.benchmarkName s))
19{-# INLINE benchmarkName #-}
20
21benchmarkInterface :: Lens' Benchmark BenchmarkInterface
22benchmarkInterface f s = fmap (\x -> s { T.benchmarkInterface = x }) (f (T.benchmarkInterface s))
23{-# INLINE benchmarkInterface #-}
24
25benchmarkBuildInfo :: Lens' Benchmark BuildInfo
26benchmarkBuildInfo f s = fmap (\x -> s { T.benchmarkBuildInfo = x }) (f (T.benchmarkBuildInfo s))
27{-# INLINE benchmarkBuildInfo #-}
28