diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/JavaModuleFileChangeTracker.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/JavaModuleFileChangeTracker.java index ce51d7343556..c715d618617a 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/JavaModuleFileChangeTracker.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/JavaModuleFileChangeTracker.java @@ -17,22 +17,23 @@ package com.intellij.psi.impl.source; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.ModificationTracker; +import com.intellij.openapi.util.NotNullLazyKey; import com.intellij.psi.*; -import com.intellij.psi.util.CachedValueProvider; -import com.intellij.psi.util.CachedValuesManager; +import com.intellij.util.NotNullFunction; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; public class JavaModuleFileChangeTracker implements ModificationTracker { + private static final NotNullLazyKey KEY = NotNullLazyKey.create("", new NotNullFunction() { + @NotNull + @Override + public ModificationTracker fun(Project project) { + return new JavaModuleFileChangeTracker(project); + } + }); + @NotNull - public static ModificationTracker getInstance(@NotNull final Project p) { - return CachedValuesManager.getManager(p).getCachedValue(p, new CachedValueProvider() { - @Nullable - @Override - public Result compute() { - return Result.create(new JavaModuleFileChangeTracker(p), NEVER_CHANGED); - } - }); + public static ModificationTracker getInstance(@NotNull Project p) { + return KEY.getValue(p); } private volatile long myCount = 0;