From d0172ebdc221646e200a809bf1e2149782df50ba Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Fri, 13 Sep 2013 13:06:52 +0400 Subject: [PATCH] Fixed bug in TypeConversionUtil#getAllBoxedTypeSupers which created CachedValueProvider.Result with null as dependency because the ProjectRootModificationTracker service was not registered. Register ProjectRootModificationTracker as NEVER_CHANGE in JavaToKotlinTranslator. --- .../org/jetbrains/jet/j2k/JavaToKotlinTranslator.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinTranslator.java b/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinTranslator.java index 04b30a984e7..c1d6d4f28f0 100644 --- a/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinTranslator.java +++ b/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinTranslator.java @@ -20,6 +20,7 @@ import com.intellij.core.JavaCoreProjectEnvironment; import com.intellij.lang.java.JavaLanguage; import com.intellij.openapi.Disposable; import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.ProjectRootModificationTracker; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileFactory; @@ -43,6 +44,13 @@ public class JavaToKotlinTranslator { } }; + private static final ProjectRootModificationTracker NEVER_CHANGED = new ProjectRootModificationTracker() { + @Override + public long getModificationCount() { + return 0; + } + }; + private JavaToKotlinTranslator() { } @@ -66,6 +74,8 @@ public class JavaToKotlinTranslator { JavaCoreApplicationEnvironment applicationEnvironment = new JavaCoreApplicationEnvironment(DISPOSABLE); JavaCoreProjectEnvironment javaCoreEnvironment = new JavaCoreProjectEnvironment(DISPOSABLE, applicationEnvironment); + javaCoreEnvironment.getProject().registerService(ProjectRootModificationTracker.class, NEVER_CHANGED); + javaCoreEnvironment.addJarToClassPath(PathUtil.findRtJar()); File annotations = findAnnotations(); if (annotations != null && annotations.exists()) {