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.