Using factory method instead of deprecated constructor.

This commit is contained in:
Alexander Udalov
2015-01-16 18:20:18 +03:00
committed by Nikolay Krasko
parent 45a3b47664
commit 042230fefc
@@ -23,14 +23,14 @@ import org.jetbrains.kotlin.resolve.BindingTrace
import org.jetbrains.kotlin.util.slicedMap.ReadOnlySlice
import org.jetbrains.kotlin.util.slicedMap.WritableSlice
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics
import com.intellij.util.containers.ConcurrentSoftValueHashMap
import com.intellij.util.containers.ContainerUtil
public class LockBasedLazyResolveStorageManager(private val storageManager: StorageManager): StorageManager by storageManager, LazyResolveStorageManager {
override fun <K, V> createSoftlyRetainedMemoizedFunction(compute: Function1<K, V>) =
storageManager.createMemoizedFunction<K, V>(compute, ConcurrentSoftValueHashMap<K, Any>())
storageManager.createMemoizedFunction<K, V>(compute, ContainerUtil.createConcurrentSoftValueMap<K, Any>())
override fun <K, V> createSoftlyRetainedMemoizedFunctionWithNullableValues(compute: Function1<K, V>) =
storageManager.createMemoizedFunctionWithNullableValues<K, V>(compute, ConcurrentSoftValueHashMap<K, Any>())
storageManager.createMemoizedFunctionWithNullableValues<K, V>(compute, ContainerUtil.createConcurrentSoftValueMap<K, Any>())
// It seems safe to have a separate lock for traces:
// no other locks will be acquired inside the trace operations