diff --git a/platform/projectModel-api/src/org/jetbrains/concurrency/promise.kt b/platform/projectModel-api/src/org/jetbrains/concurrency/promise.kt index 39a9677784ca..d4f831a0a416 100644 --- a/platform/projectModel-api/src/org/jetbrains/concurrency/promise.kt +++ b/platform/projectModel-api/src/org/jetbrains/concurrency/promise.kt @@ -36,11 +36,11 @@ val Promise<*>.isPending: Boolean val Promise<*>.isFulfilled: Boolean get() = state == Promise.State.FULFILLED -internal val OBSOLETE_ERROR = createError("Obsolete") +internal val OBSOLETE_ERROR by lazy { createError("Obsolete") } -private val REJECTED: Promise<*> = RejectedPromise(createError("rejected")) -private val DONE: Promise<*> = DonePromise(null) -private val CANCELLED_PROMISE = RejectedPromise(OBSOLETE_ERROR) +private val REJECTED: Promise<*> by lazy { RejectedPromise(createError("rejected")) } +private val DONE: Promise<*> by lazy { DonePromise(null) } +private val CANCELLED_PROMISE: Promise<*> by lazy { RejectedPromise(OBSOLETE_ERROR) } @Suppress("UNCHECKED_CAST") fun resolvedPromise(): Promise = DONE as Promise