Added semantic and debug highlighting in library sources.

This commit is contained in:
Evgeny Gerashchenko
2013-09-06 13:36:14 +04:00
parent 188e8b983e
commit 95adbeddd2
2 changed files with 7 additions and 4 deletions
@@ -23,8 +23,6 @@ import com.intellij.ide.plugins.IdeaPluginDescriptor;
import com.intellij.ide.plugins.PluginManager;
import com.intellij.openapi.extensions.PluginId;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.module.ModuleUtil;
import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.ProjectFileIndex;
@@ -90,6 +88,10 @@ public class JetPluginUtil {
}
public static boolean isInSourceContent(@NotNull PsiElement element) {
return isInSourceContent(element, true);
}
public static boolean isInSourceContent(@NotNull PsiElement element, boolean includeLibrarySources) {
PsiFile containingFile = element.getContainingFile();
if (containingFile == null) {
return false;
@@ -98,7 +100,8 @@ public class JetPluginUtil {
if (virtualFile == null) {
return false;
}
return ProjectFileIndex.SERVICE.getInstance(element.getProject()).isInSourceContent(virtualFile);
ProjectFileIndex index = ProjectFileIndex.SERVICE.getInstance(element.getProject());
return includeLibrarySources ? index.isInSource(virtualFile) : index.isInSourceContent(virtualFile);
}
public static boolean isInSource(@NotNull PsiElement element) {
@@ -115,7 +115,7 @@ public class JetPsiChecker implements Annotator {
try {
BindingContext bindingContext = AnalyzerFacadeWithCache.analyzeFileWithCache(file).getBindingContext();
if (errorReportingEnabled) {
if (errorReportingEnabled && JetPluginUtil.isInSourceContent(element, false)) {
Collection<Diagnostic> diagnostics = Sets.newLinkedHashSet(bindingContext.getDiagnostics());
Set<PsiElement> redeclarations = Sets.newHashSet();
for (Diagnostic diagnostic : diagnostics) {