diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/DeferredType.java b/compiler/frontend/src/org/jetbrains/kotlin/types/DeferredType.java index 3c4e802c60f..79fe2166fd0 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/DeferredType.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/DeferredType.java @@ -77,6 +77,10 @@ public class DeferredType extends DelegatingType implements LazyType { this.lazyValue = lazyValue; } + public boolean isComputing() { + return lazyValue.isComputing(); + } + public boolean isComputed() { return lazyValue.isComputed(); } diff --git a/core/util.runtime/src/org/jetbrains/kotlin/storage/LockBasedStorageManager.java b/core/util.runtime/src/org/jetbrains/kotlin/storage/LockBasedStorageManager.java index c7a286947ee..9df8d43631a 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/storage/LockBasedStorageManager.java +++ b/core/util.runtime/src/org/jetbrains/kotlin/storage/LockBasedStorageManager.java @@ -286,6 +286,11 @@ public class LockBasedStorageManager implements StorageManager { return value != NotValue.NOT_COMPUTED && value != NotValue.COMPUTING; } + @Override + public boolean isComputing() { + return value == NotValue.COMPUTING; + } + @Override public T invoke() { Object _value = value; diff --git a/core/util.runtime/src/org/jetbrains/kotlin/storage/storage.kt b/core/util.runtime/src/org/jetbrains/kotlin/storage/storage.kt index c211164493f..6b355c8ff05 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/storage/storage.kt +++ b/core/util.runtime/src/org/jetbrains/kotlin/storage/storage.kt @@ -28,10 +28,12 @@ public interface MemoizedFunctionToNullable
: Function1
{
public interface NotNullLazyValue