Top Inners Fields Constructors Methods
kotlin.reflect.jvm.internal.impl.storage

public Class LockBasedStorageManager

extends Object
implements kotlin.reflect.jvm.internal.impl.storage.StorageManager
Class Inheritance
Imports
kotlin.Unit, kotlin.jvm.functions.Function0, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function2, kotlin.text.StringsKt, org.jetbrains.annotations.NotNull, .Nullable, kotlin.reflect.jvm.internal.impl.utils.ExceptionUtilsKt, kotlin.reflect.jvm.internal.impl.utils.WrappedValues, java.util.Arrays, .List, java.util.concurrent.ConcurrentHashMap, .ConcurrentMap

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
public static interface
private static class
private static class
private abstract static class
LockBasedStorageManager.LockBasedLazyValueWithPostCompute<T>

Computed value has an early publication and accessible from the same thread while executing a post-compute lambda.

private static class
private abstract static class
private static class
private static class
private static enum
private static class

Field Summary

Modifier and TypeField and Description
private final String
private final LockBasedStorageManager.ExceptionHandlingStrategy
protected final kotlin.reflect.jvm.internal.impl.storage.SimpleLock
public static final kotlin.reflect.jvm.internal.impl.storage.StorageManager
private static final String

Constructor Summary

AccessConstructor and Description
private
LockBasedStorageManager(@NotNull String debugText, @NotNull LockBasedStorageManager.ExceptionHandlingStrategy exceptionHandlingStrategy, @NotNull kotlin.reflect.jvm.internal.impl.storage.SimpleLock lock)

public
public
LockBasedStorageManager(String debugText, @Nullable Runnable checkCancelled, @Nullable kotlin.jvm.functions.Function1<InterruptedException, kotlin.Unit> interruptedExceptionHandler)

Method Summary

Modifier and TypeMethod and Description
public <T> T
compute(@NotNull kotlin.jvm.functions.Function0<? extends T> computable)

public <K, V> @NotNull kotlin.reflect.jvm.internal.impl.storage.CacheWithNotNullValues<K, V>
public <K, V> @NotNull kotlin.reflect.jvm.internal.impl.storage.CacheWithNullableValues<K, V>
private static <K> @NotNull ConcurrentMap<K, Object>
public <T> @NotNull kotlin.reflect.jvm.internal.impl.storage.NotNullLazyValue<T>
createLazyValue(@NotNull kotlin.jvm.functions.Function0<? extends T> computable)

public <T> @NotNull kotlin.reflect.jvm.internal.impl.storage.NotNullLazyValue<T>
createLazyValue(@NotNull kotlin.jvm.functions.Function0<? extends T> computable, final @NotNull kotlin.jvm.functions.Function1<? super Boolean, ? extends T> onRecursiveCall)

public <T> @NotNull kotlin.reflect.jvm.internal.impl.storage.NotNullLazyValue<T>
createLazyValueWithPostCompute(@NotNull kotlin.jvm.functions.Function0<? extends T> computable, final kotlin.jvm.functions.Function1<? super Boolean, ? extends T> onRecursiveCall, final @NotNull kotlin.jvm.functions.Function1<? super T, kotlin.Unit> postCompute)

public <K, V> @NotNull kotlin.reflect.jvm.internal.impl.storage.MemoizedFunctionToNotNull<K, V>
createMemoizedFunction(@NotNull kotlin.jvm.functions.Function1<? super K, ? extends V> compute)

public <K, V> @NotNull kotlin.reflect.jvm.internal.impl.storage.MemoizedFunctionToNotNull<K, V>
createMemoizedFunction(@NotNull kotlin.jvm.functions.Function1<? super K, ? extends V> compute, @NotNull kotlin.jvm.functions.Function2<? super K, ? super Boolean, ? extends V> onRecursiveCall)

public <K, V> @NotNull kotlin.reflect.jvm.internal.impl.storage.MemoizedFunctionToNotNull<K, V>
createMemoizedFunction(@NotNull kotlin.jvm.functions.Function1<? super K, ? extends V> compute, @NotNull ConcurrentMap<K, Object> map)

public <K, V> @NotNull kotlin.reflect.jvm.internal.impl.storage.MemoizedFunctionToNotNull<K, V>
createMemoizedFunction(@NotNull kotlin.jvm.functions.Function1<? super K, ? extends V> compute, final @NotNull kotlin.jvm.functions.Function2<? super K, ? super Boolean, ? extends V> onRecursiveCall, @NotNull ConcurrentMap<K, Object> map)

public <K, V> @NotNull kotlin.reflect.jvm.internal.impl.storage.MemoizedFunctionToNullable<K, V>
createMemoizedFunctionWithNullableValues(@NotNull kotlin.jvm.functions.Function1<? super K, ? extends V> compute)

public <K, V> @NotNull kotlin.reflect.jvm.internal.impl.storage.MemoizedFunctionToNullable<K, V>
createMemoizedFunctionWithNullableValues(@NotNull kotlin.jvm.functions.Function1<? super K, ? extends V> compute, @NotNull ConcurrentMap<K, Object> map)

public <T> @NotNull kotlin.reflect.jvm.internal.impl.storage.NullableLazyValue<T>
createNullableLazyValue(@NotNull kotlin.jvm.functions.Function0<? extends T> computable)

public <T> @NotNull kotlin.reflect.jvm.internal.impl.storage.NullableLazyValue<T>
createNullableLazyValueWithPostCompute(@NotNull kotlin.jvm.functions.Function0<? extends T> computable, final @NotNull kotlin.jvm.functions.Function1<? super T, kotlin.Unit> postCompute)

public <T> @NotNull kotlin.reflect.jvm.internal.impl.storage.NotNullLazyValue<T>
createRecursionTolerantLazyValue(@NotNull kotlin.jvm.functions.Function0<? extends T> computable, final T onRecursiveCall)

public <T> @NotNull kotlin.reflect.jvm.internal.impl.storage.NullableLazyValue<T>
createRecursionTolerantNullableLazyValue(@NotNull kotlin.jvm.functions.Function0<? extends T> computable, final T onRecursiveCall)

public static @NotNull LockBasedStorageManager
public static @NotNull LockBasedStorageManager
createWithExceptionHandling(@NotNull String debugText, @NotNull LockBasedStorageManager.ExceptionHandlingStrategy exceptionHandlingStrategy, @Nullable Runnable checkCancelled, @Nullable kotlin.jvm.functions.Function1<InterruptedException, kotlin.Unit> interruptedExceptionHandler)

protected <K, V> @NotNull LockBasedStorageManager.RecursionDetectedResult<V>
public LockBasedStorageManager
private static <T extends Throwable> T
sanitizeStackTrace(T throwable)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait