From ac8b12baf1dbedb9ce26b16ac556afc1881f9e6a Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Wed, 26 Feb 2014 21:03:31 +0400 Subject: [PATCH] Do not weakly retain caches whose computation has side-effects Lazy scopes write REFERENCE_TARGET to trace as a side-effect, when weak caches are cleared, resolution may be repeated, and a rewrite error happens --- .../src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java index f1ca58cacb4..0c9667352e5 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ScopeProvider.java @@ -47,7 +47,7 @@ public class ScopeProvider { public ScopeProvider(@NotNull ResolveSession resolveSession) { this.resolveSession = resolveSession; - this.fileScopes = resolveSession.getStorageManager().createWeaklyRetainedMemoizedFunction(new Function1() { + this.fileScopes = resolveSession.getStorageManager().createMemoizedFunction(new Function1() { @Override public JetScope invoke(@NotNull JetFile file) { return createFileScope(file);