Added semantic and debug highlighting in library sources.
This commit is contained in:
@@ -23,8 +23,6 @@ import com.intellij.ide.plugins.IdeaPluginDescriptor;
|
|||||||
import com.intellij.ide.plugins.PluginManager;
|
import com.intellij.ide.plugins.PluginManager;
|
||||||
import com.intellij.openapi.extensions.PluginId;
|
import com.intellij.openapi.extensions.PluginId;
|
||||||
import com.intellij.openapi.module.Module;
|
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.module.ModuleUtilCore;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import com.intellij.openapi.roots.ProjectFileIndex;
|
import com.intellij.openapi.roots.ProjectFileIndex;
|
||||||
@@ -90,6 +88,10 @@ public class JetPluginUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isInSourceContent(@NotNull PsiElement element) {
|
public static boolean isInSourceContent(@NotNull PsiElement element) {
|
||||||
|
return isInSourceContent(element, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isInSourceContent(@NotNull PsiElement element, boolean includeLibrarySources) {
|
||||||
PsiFile containingFile = element.getContainingFile();
|
PsiFile containingFile = element.getContainingFile();
|
||||||
if (containingFile == null) {
|
if (containingFile == null) {
|
||||||
return false;
|
return false;
|
||||||
@@ -98,7 +100,8 @@ public class JetPluginUtil {
|
|||||||
if (virtualFile == null) {
|
if (virtualFile == null) {
|
||||||
return false;
|
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) {
|
public static boolean isInSource(@NotNull PsiElement element) {
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ public class JetPsiChecker implements Annotator {
|
|||||||
try {
|
try {
|
||||||
BindingContext bindingContext = AnalyzerFacadeWithCache.analyzeFileWithCache(file).getBindingContext();
|
BindingContext bindingContext = AnalyzerFacadeWithCache.analyzeFileWithCache(file).getBindingContext();
|
||||||
|
|
||||||
if (errorReportingEnabled) {
|
if (errorReportingEnabled && JetPluginUtil.isInSourceContent(element, false)) {
|
||||||
Collection<Diagnostic> diagnostics = Sets.newLinkedHashSet(bindingContext.getDiagnostics());
|
Collection<Diagnostic> diagnostics = Sets.newLinkedHashSet(bindingContext.getDiagnostics());
|
||||||
Set<PsiElement> redeclarations = Sets.newHashSet();
|
Set<PsiElement> redeclarations = Sets.newHashSet();
|
||||||
for (Diagnostic diagnostic : diagnostics) {
|
for (Diagnostic diagnostic : diagnostics) {
|
||||||
|
|||||||
Reference in New Issue
Block a user