diff --git a/idea/src/org/jetbrains/jet/plugin/JetPluginUtil.java b/idea/src/org/jetbrains/jet/plugin/JetPluginUtil.java index 9d19e277e00..9caa71d2209 100644 --- a/idea/src/org/jetbrains/jet/plugin/JetPluginUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/JetPluginUtil.java @@ -21,6 +21,10 @@ import com.intellij.ide.plugins.IdeaPluginDescriptor; import com.intellij.ide.plugins.PluginManager; import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.ProjectFileIndex; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; @@ -78,6 +82,18 @@ public class JetPluginUtil { return libraryScope == ((NamespaceDescriptor) declaration).getMemberScope(); } + public static boolean isInSourceContent(@NotNull PsiElement element) { + PsiFile containingFile = element.getContainingFile(); + if (containingFile == null) { + return false; + } + VirtualFile virtualFile = containingFile.getVirtualFile(); + if (virtualFile == null) { + return false; + } + return ProjectFileIndex.SERVICE.getInstance(element.getProject()).isInSourceContent(virtualFile); + } + @NotNull public static String getPluginVersion() { IdeaPluginDescriptor plugin = PluginManager.getPlugin(PluginId.getId("org.jetbrains.kotlin")); diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/DebugInfoAnnotator.java b/idea/src/org/jetbrains/jet/plugin/highlighter/DebugInfoAnnotator.java index f1647237d1e..dc454d24d94 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/DebugInfoAnnotator.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/DebugInfoAnnotator.java @@ -26,6 +26,7 @@ import org.jetbrains.jet.checkers.DebugInfoUtil; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetReferenceExpression; import org.jetbrains.jet.lang.resolve.BindingContext; +import org.jetbrains.jet.plugin.JetPluginUtil; import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; /** @@ -39,7 +40,7 @@ public class DebugInfoAnnotator implements Annotator { @Override public void annotate(@NotNull PsiElement element, @NotNull final AnnotationHolder holder) { - if (!isDebugInfoEnabled() || !JetPsiChecker.isErrorReportingEnabled() || !JetPsiChecker.isInSourceContent(element)) { + if (!isDebugInfoEnabled() || !JetPsiChecker.isErrorReportingEnabled() || !JetPluginUtil.isInSourceContent(element)) { return; } diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java index bff8dcc2b71..4759a305af7 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java @@ -59,6 +59,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; import org.jetbrains.jet.lexer.JetTokens; import org.jetbrains.jet.plugin.JetBundle; +import org.jetbrains.jet.plugin.JetPluginUtil; import org.jetbrains.jet.plugin.codeInsight.JetFunctionPsiElementCellRenderer; import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.search.KotlinDefinitionsSearcher; @@ -362,7 +363,7 @@ public class JetLineMarkerProvider implements LineMarkerProvider { public void collectSlowLineMarkers(@NotNull List elements, @NotNull Collection result) { if (elements.isEmpty() || DumbService.getInstance(elements.get(0).getProject()).isDumb() || - !JetPsiChecker.isInSourceContent(elements.get(0))) { + !JetPluginUtil.isInSourceContent(elements.get(0))) { return; } diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/JetPsiChecker.java b/idea/src/org/jetbrains/jet/plugin/highlighter/JetPsiChecker.java index 422f4a14e9c..77c0bf0138b 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/JetPsiChecker.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/JetPsiChecker.java @@ -26,12 +26,9 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.colors.TextAttributesKey; import com.intellij.openapi.progress.ProcessCanceledException; -import com.intellij.openapi.roots.ProjectFileIndex; import com.intellij.openapi.util.TextRange; -import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.MultiRangeReference; import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiFile; import com.intellij.psi.PsiReference; import com.intellij.xml.util.XmlStringUtil; import org.jetbrains.annotations.NotNull; @@ -44,6 +41,7 @@ import org.jetbrains.jet.lang.diagnostics.rendering.DefaultErrorMessages; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetReferenceExpression; import org.jetbrains.jet.lang.resolve.BindingContext; +import org.jetbrains.jet.plugin.JetPluginUtil; import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.quickfix.JetIntentionActionsFactory; import org.jetbrains.jet.plugin.quickfix.QuickFixes; @@ -102,7 +100,7 @@ public class JetPsiChecker implements Annotator { @Override public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) { - if (!isInSourceContent(element)) { + if (!JetPluginUtil.isInSourceContent(element)) { return; } @@ -275,16 +273,4 @@ public class JetPsiChecker implements Annotator { annotation.setTooltip(getMessage(redeclarationDiagnostic)); return annotation; } - - public static boolean isInSourceContent(PsiElement element) { - PsiFile containingFile = element.getContainingFile(); - if (containingFile == null) { - return false; - } - VirtualFile virtualFile = containingFile.getVirtualFile(); - if (virtualFile == null) { - return false; - } - return ProjectFileIndex.SERVICE.getInstance(element.getProject()).isInSourceContent(virtualFile); - } } diff --git a/idea/src/org/jetbrains/jet/plugin/search/KotlinReferencesSearcher.java b/idea/src/org/jetbrains/jet/plugin/search/KotlinReferencesSearcher.java index 2d64b97f2bd..b9d45a65dea 100644 --- a/idea/src/org/jetbrains/jet/plugin/search/KotlinReferencesSearcher.java +++ b/idea/src/org/jetbrains/jet/plugin/search/KotlinReferencesSearcher.java @@ -28,7 +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; +import org.jetbrains.jet.plugin.JetPluginUtil; public class KotlinReferencesSearcher extends QueryExecutorBase { public static void processJetClassOrObject( @@ -51,7 +51,7 @@ public class KotlinReferencesSearcher extends QueryExecutorBase consumer) { PsiElement element = queryParameters.getElementToSearch(); - if (!JetPsiChecker.isInSourceContent(element)) { + if (!JetPluginUtil.isInSourceContent(element)) { return; } if (element instanceof JetClass) {