For #15279 - review: set LazyMonitored to private.

upstream-sync
Michael Comella 4 years ago committed by Michael Comella
parent c96e16112f
commit afa080c956

@ -20,14 +20,14 @@ object ComponentInitCount {
* A convenience function for setting the [LazyMonitored] property delegate, which wraps
* [lazy] to add performance monitoring.
*/
fun <T> lazyMonitored(initializer: () -> T) = LazyMonitored(initializer)
fun <T> lazyMonitored(initializer: () -> T): Lazy<T> = LazyMonitored(initializer)
/**
* A wrapper around the [lazy] property delegate to monitor for performance related issues.
* For example, we can count the number of components initialized to see how the number of
* components initialized on start up impacts start up time.
*/
class LazyMonitored<T>(initializer: () -> T) : Lazy<T> {
private class LazyMonitored<T>(initializer: () -> T) : Lazy<T> {
// Lazy is thread safe.
private val lazyValue = lazy {
// We're unlikely to have 4 billion components so we don't handle overflow.

@ -17,12 +17,6 @@ class LazyMonitoredTest {
ComponentInitCount.count.set(0)
}
@Test
fun `WHEN using the convenience function THEN it returns a lazy monitored`() {
val actual = lazyMonitored { }
assertEquals(LazyMonitored::class, actual::class)
}
@Test
fun `WHEN accessing a lazy monitored THEN it returns the initializer value`() {
val actual by lazyMonitored { 4 }

Loading…
Cancel
Save