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.
This commit is contained in:
Zalim Bashorov
2013-09-13 13:06:52 +04:00
parent 4027454b64
commit d0172ebdc2
@@ -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()) {