Fixed ISE on attempt to build light class for alien file.

This commit is contained in:
Evgeny Gerashchenko
2013-07-24 19:12:51 -07:00
parent 81d33b78b7
commit f06111a608
3 changed files with 8 additions and 2 deletions
@@ -360,7 +360,9 @@ public class JetLineMarkerProvider implements LineMarkerProvider {
@Override
public void collectSlowLineMarkers(@NotNull List<PsiElement> elements, @NotNull Collection<LineMarkerInfo> result) {
if (elements.isEmpty() || DumbService.getInstance(elements.get(0).getProject()).isDumb()) {
if (elements.isEmpty() ||
DumbService.getInstance(elements.get(0).getProject()).isDumb() ||
!JetPsiChecker.isInSourceContent(elements.get(0))) {
return;
}
@@ -276,7 +276,7 @@ public class JetPsiChecker implements Annotator {
return annotation;
}
static boolean isInSourceContent(PsiElement element) {
public static boolean isInSourceContent(PsiElement element) {
PsiFile containingFile = element.getContainingFile();
if (containingFile == null) {
return false;
@@ -28,6 +28,7 @@ import com.intellij.util.Processor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.asJava.LightClassUtil;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.plugin.highlighter.JetPsiChecker;
public class KotlinReferencesSearcher extends QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters> {
public static void processJetClassOrObject(
@@ -50,6 +51,9 @@ public class KotlinReferencesSearcher extends QueryExecutorBase<PsiReference, Re
@Override
public void processQuery(@NotNull ReferencesSearch.SearchParameters queryParameters, @NotNull Processor<PsiReference> consumer) {
PsiElement element = queryParameters.getElementToSearch();
if (!JetPsiChecker.isInSourceContent(element)) {
return;
}
if (element instanceof JetClass) {
processJetClassOrObject((JetClass) element, queryParameters);
}