Invalidate ResolveElementCache on exceptions from storage manager

This commit is contained in:
Andrey Breslav
2014-01-31 13:04:57 +04:00
parent a90dbc48ef
commit 2da51a49dc
@@ -62,7 +62,8 @@ public class ResolveElementCache {
@Nullable
@Override
public Result<MemoizedFunctionToNotNull<JetElement, BindingContext>> compute() {
LazyResolveStorageManager manager = ResolveElementCache.this.resolveSession.getStorageManager();
ResolveSession resolveSession = ResolveElementCache.this.resolveSession;
LazyResolveStorageManager manager = resolveSession.getStorageManager();
MemoizedFunctionToNotNull<JetElement, BindingContext> elementsCacheFunction =
manager.createWeaklyRetainedMemoizedFunction(new Function1<JetElement, BindingContext>() {
@Override
@@ -71,7 +72,9 @@ public class ResolveElementCache {
}
});
return Result.create(elementsCacheFunction, PsiModificationTracker.MODIFICATION_COUNT);
return Result.create(elementsCacheFunction,
PsiModificationTracker.MODIFICATION_COUNT,
resolveSession.getExceptionTracker());
}
},
false);