From b1ea79113fe93efb5a74a71cc2c014ac3716ff72 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Thu, 4 Apr 2013 17:51:51 +0400 Subject: [PATCH] Replaced hard exception with LOG.error. --- .../jet/lang/resolve/java/PsiClassFinder.java | 2 +- .../lang/resolve/java/PsiClassFinderImpl.java | 25 +++++++++++-------- .../java/resolver/JavaClassResolver.java | 2 +- .../resolve/JetExpectedResolveDataUtil.java | 2 +- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinder.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinder.java index 93a6b3bfac8..b89b4be8ba6 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinder.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinder.java @@ -26,7 +26,7 @@ import java.util.List; public interface PsiClassFinder { enum RuntimeClassesHandleMode { - THROW, + REPORT_ERROR, IGNORE, } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderImpl.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderImpl.java index 007bf2c57f2..bee73db55a9 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderImpl.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderImpl.java @@ -18,6 +18,8 @@ package org.jetbrains.jet.lang.resolve.java; import com.google.common.collect.Lists; import com.google.common.collect.Sets; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.vfs.VirtualFile; @@ -39,6 +41,7 @@ import java.util.List; import java.util.Set; public class PsiClassFinderImpl implements PsiClassFinder { + private static final Logger LOG = Logger.getInstance(PsiClassFinderImpl.class); @NotNull private Project project; @@ -106,17 +109,19 @@ public class PsiClassFinderImpl implements PsiClassFinder { original, JvmStdlibNames.ASSERT_INVISIBLE_IN_RESOLVER.getFqName().getFqName()); if (assertInvisibleAnnotation != null) { - if (runtimeClassesHandleMode == RuntimeClassesHandleMode.IGNORE) { - return null; - } - else if (runtimeClassesHandleMode == RuntimeClassesHandleMode.THROW) { - throw new IllegalStateException( - "classpath is configured incorrectly:" + - " class " + qualifiedName + " from runtime must not be loaded by compiler"); - } - else { - throw new IllegalStateException("unknown parameter value: " + runtimeClassesHandleMode); + switch (runtimeClassesHandleMode) { + case IGNORE: + break; + case REPORT_ERROR: + if (ApplicationManager.getApplication().isInternal()) { + LOG.error("classpath is configured incorrectly:" + + " class " + qualifiedName + " from runtime must not be loaded by compiler"); + } + break; + default: + throw new IllegalStateException("unknown parameter value: " + runtimeClassesHandleMode); } + return null; } } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java index d7a928f5ac5..658f2544160 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java @@ -167,7 +167,7 @@ public final class JavaClassResolver { } private ClassDescriptor doResolveClass(@NotNull FqName qualifiedName, @NotNull PostponedTasks tasks) { - PsiClass psiClass = psiClassFinder.findPsiClass(qualifiedName, PsiClassFinder.RuntimeClassesHandleMode.THROW); + PsiClass psiClass = psiClassFinder.findPsiClass(qualifiedName, PsiClassFinder.RuntimeClassesHandleMode.REPORT_ERROR); if (psiClass == null) { cacheNegativeValue(javaClassToKotlinFqName(qualifiedName)); return null; diff --git a/compiler/tests/org/jetbrains/jet/resolve/JetExpectedResolveDataUtil.java b/compiler/tests/org/jetbrains/jet/resolve/JetExpectedResolveDataUtil.java index bebab56392a..b05c6065506 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/JetExpectedResolveDataUtil.java +++ b/compiler/tests/org/jetbrains/jet/resolve/JetExpectedResolveDataUtil.java @@ -117,7 +117,7 @@ public class JetExpectedResolveDataUtil { @NotNull private static PsiClass findClass(String qualifiedName, Project project) { InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(project); - PsiClass psiClass = injector.getPsiClassFinder().findPsiClass(new FqName(qualifiedName), PsiClassFinder.RuntimeClassesHandleMode.THROW); + PsiClass psiClass = injector.getPsiClassFinder().findPsiClass(new FqName(qualifiedName), PsiClassFinder.RuntimeClassesHandleMode.REPORT_ERROR); Assert.assertNotNull("Class wasn't found: " + qualifiedName, psiClass); return psiClass; }