public static interface RecursionGuard.StackStamp
Modifier and Type | Method and Description |
---|---|
boolean |
mayCacheNow() |
boolean mayCacheNow()
RecursionGuard.StackStamp
instance creation does not depend on any
re-entrant recursive results. When such non-reliable results exist in the thread's call stack, returns false, otherwise true.
If you use this with RecursionGuard.doPreventingRecursion(Key, boolean, com.intellij.openapi.util.Computable<T>)
, then the
RecursionManager.markStack()
+mayCacheNow()
should be outside of recursion prevention call. Otherwise
even the outer recursive computation result won't be cached. In particular, doPreventingRecursion
calls should
be inside your CachedValue
provider, not outside cached value access.