Utility method moved to util class
This commit is contained in:
@@ -23,7 +23,6 @@ import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.PsiClassImplUtil;
|
||||
import com.intellij.psi.impl.java.stubs.PsiClassStub;
|
||||
@@ -53,8 +52,6 @@ import javax.swing.*;
|
||||
import java.util.Collections;
|
||||
|
||||
public class JetLightClass extends AbstractLightClass implements JetJavaMirrorMarker {
|
||||
private static final Logger LOG = Logger.getInstance(JetLightClass.class);
|
||||
|
||||
static class JetBadWrapperException extends RuntimeException {
|
||||
private final String context;
|
||||
|
||||
@@ -171,7 +168,7 @@ public class JetLightClass extends AbstractLightClass implements JetJavaMirrorMa
|
||||
if (LightClassUtil.belongsToKotlinBuiltIns(file)) {
|
||||
// We may not fail later due to some luck, but generating JetLightClasses for built-ins is a bad idea anyways
|
||||
// If it fails later, there will be an exception logged
|
||||
logErrorWithOSInfo(null);
|
||||
LightClassUtil.logErrorWithOSInfo(null, qualifiedName, file.getVirtualFile());
|
||||
}
|
||||
|
||||
final PsiJavaFileStubImpl answer = new PsiJavaFileStubImpl(JetPsiUtil.getFQName(file).getFqName(), true);
|
||||
@@ -223,21 +220,13 @@ public class JetLightClass extends AbstractLightClass implements JetJavaMirrorMa
|
||||
throw e;
|
||||
}
|
||||
catch (RuntimeException e) {
|
||||
logErrorWithOSInfo(e);
|
||||
LightClassUtil.logErrorWithOSInfo(e, qualifiedName, file.getVirtualFile());
|
||||
throw e;
|
||||
}
|
||||
|
||||
return answer;
|
||||
}
|
||||
|
||||
private void logErrorWithOSInfo(@Nullable Throwable cause) {
|
||||
LOG.error(
|
||||
"Could not generate JetLightClass for " + qualifiedName + " declared in " + file.getVirtualFile().getPath() + "\n" +
|
||||
"built-ins dir URL is " + LightClassUtil.getBuiltInsDirResourceUrl() + "\n" +
|
||||
"System: " + SystemInfo.OS_NAME + " " + SystemInfo.OS_VERSION + " Java Runtime: " + SystemInfo.JAVA_RUNTIME_VERSION,
|
||||
cause);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEquivalentTo(PsiElement another) {
|
||||
return another instanceof PsiClass && Comparing.equal(((PsiClass)another).getQualifiedName(), getQualifiedName());
|
||||
|
||||
@@ -17,9 +17,12 @@
|
||||
package org.jetbrains.jet.asJava;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
import org.jetbrains.jet.utils.KotlinVfsUtil;
|
||||
|
||||
@@ -27,7 +30,7 @@ import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
||||
public class LightClassUtil {
|
||||
private static final Logger LOG = Logger.getInstance(JetLightClass.class);
|
||||
private static final Logger LOG = Logger.getInstance(LightClassUtil.class);
|
||||
private static final String DEFINITION_OF_ANY = "Any.jet";
|
||||
|
||||
/**
|
||||
@@ -68,5 +71,14 @@ public class LightClassUtil {
|
||||
return url;
|
||||
}
|
||||
|
||||
/*package*/ static void logErrorWithOSInfo(@Nullable Throwable cause, @NotNull FqName fqName, @Nullable VirtualFile virtualFile) {
|
||||
String path = virtualFile == null ? "<null>" : virtualFile.getPath();
|
||||
LOG.error(
|
||||
"Could not generate LightClass for " + fqName + " declared in " + path + "\n" +
|
||||
"built-ins dir URL is " + getBuiltInsDirResourceUrl() + "\n" +
|
||||
"System: " + SystemInfo.OS_NAME + " " + SystemInfo.OS_VERSION + " Java Runtime: " + SystemInfo.JAVA_RUNTIME_VERSION,
|
||||
cause);
|
||||
}
|
||||
|
||||
private LightClassUtil() {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user