Add ability to create memoized functions with custom maps

- Remove cast in ResolveSession class
This commit is contained in:
Nikolay Krasko
2014-11-19 19:20:53 +03:00
committed by Nikolay Krasko
parent edee61f2f5
commit a456f9d22e
5 changed files with 120 additions and 93 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.jet.storage.MemoizedFunctionToNotNull
import org.jetbrains.jet.storage.MemoizedFunctionToNullable
import org.jetbrains.jet.storage.NotNullLazyValue
import org.jetbrains.jet.storage.NullableLazyValue
import java.util.concurrent.ConcurrentMap
public class LoggingStorageManager(
private val delegate: StorageManager,
@@ -138,6 +139,14 @@ public class LoggingStorageManager(
return delegate.createMemoizedFunctionWithNullableValues(compute.logged)
}
override fun createMemoizedFunction<K, V: Any>(compute: (K) -> V, map: ConcurrentMap<K, Any>): MemoizedFunctionToNotNull<K, V> {
return delegate.createMemoizedFunction(compute.logged, map)
}
override fun createMemoizedFunctionWithNullableValues<K, V: Any>(compute: (K) -> V, map: ConcurrentMap<K, Any>): MemoizedFunctionToNullable<K, V> {
return delegate.createMemoizedFunctionWithNullableValues(compute.logged, map)
}
override fun createLazyValue<T: Any>(computable: () -> T): NotNullLazyValue<T> {
return delegate.createLazyValue(computable.logged)
}