Refactoring: introduce isInSourceWithGradleCheck() method

This commit is contained in:
Nikolay Krasko
2014-09-02 13:55:07 +04:00
parent 053201f30f
commit 10886a8ce3
9 changed files with 15 additions and 30 deletions
@@ -21,9 +21,11 @@ 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.psi.JetCodeFragment;
import org.jetbrains.jet.plugin.configuration.JetModuleTypeManager;
public class ProjectRootsUtil {
public static boolean isInSource(@NotNull PsiElement element) {
private static boolean isInSource(@NotNull PsiElement element) {
return isInSource(element, true);
}
@@ -39,4 +41,8 @@ public class ProjectRootsUtil {
ProjectFileIndex index = ProjectFileIndex.SERVICE.getInstance(element.getProject());
return includeLibrarySources ? index.isInSource(virtualFile) : index.isInSourceContent(virtualFile);
}
public static boolean isInSourceWithGradleCheck(@NotNull PsiElement element) {
return isInSource(element) && !JetModuleTypeManager.getInstance().isKtFileInGradleProjectInWrongFolder(element);
}
}
@@ -29,7 +29,6 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.plugin.ProjectRootsUtil;
import org.jetbrains.jet.plugin.actions.internal.KotlinInternalMode;
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
import org.jetbrains.jet.plugin.configuration.JetModuleTypeManager;
/**
* Quick showing possible problems with Kotlin internals in IDEA with tooltips
@@ -42,9 +41,7 @@ public class DebugInfoAnnotator implements Annotator {
@Override
public void annotate(@NotNull PsiElement element, @NotNull final AnnotationHolder holder) {
if (!isDebugInfoEnabled() ||
!ProjectRootsUtil.isInSource(element) ||
JetModuleTypeManager.getInstance().isKtFileInGradleProjectInWrongFolder(element)) {
if (!isDebugInfoEnabled() || !ProjectRootsUtil.isInSourceWithGradleCheck(element)) {
return;
}
@@ -48,7 +48,6 @@ import org.jetbrains.jet.lang.resolve.Diagnostics;
import org.jetbrains.jet.plugin.ProjectRootsUtil;
import org.jetbrains.jet.plugin.actions.internal.KotlinInternalMode;
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
import org.jetbrains.jet.plugin.configuration.JetModuleTypeManager;
import org.jetbrains.jet.plugin.quickfix.JetIntentionActionsFactory;
import org.jetbrains.jet.plugin.quickfix.QuickFixes;
@@ -94,10 +93,7 @@ public class JetPsiChecker implements Annotator, HighlightRangeExtension {
@Override
public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) {
if (!(ProjectRootsUtil.isInSource(element) || element.getContainingFile() instanceof JetCodeFragment)
|| JetModuleTypeManager.getInstance().isKtFileInGradleProjectInWrongFolder(element)) {
return;
}
if (!(ProjectRootsUtil.isInSourceWithGradleCheck(element) || element.getContainingFile() instanceof JetCodeFragment)) return;
for (HighlightingVisitor visitor : getBeforeAnalysisVisitors(holder)) {
element.accept(visitor);
@@ -30,7 +30,6 @@ import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetNamedFunction;
import org.jetbrains.jet.lang.psi.JetProperty;
import org.jetbrains.jet.lang.psi.psiUtil.PsiUtilPackage;
import org.jetbrains.jet.plugin.JetPluginUtil;
import org.jetbrains.jet.plugin.ProjectRootsUtil;
public class HierarchyUtils {
@@ -61,8 +60,7 @@ public class HierarchyUtils {
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument());
if (file == null) return null;
if (!ProjectRootsUtil.isInSource(file)) return null;
if (JetPluginUtil.isKtFileInGradleProjectInWrongFolder(file)) return null;
if (!ProjectRootsUtil.isInSourceWithGradleCheck(file)) return null;
return TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.getInstance().getAllAccepted());
}
@@ -35,7 +35,6 @@ import org.jetbrains.jet.lang.psi.JetClassOrObject;
import org.jetbrains.jet.lang.psi.JetNamedFunction;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.plugin.JetPluginUtil;
import org.jetbrains.jet.plugin.ProjectRootsUtil;
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
import org.jetbrains.jet.plugin.libraries.JetSourceNavigationHelper;
@@ -55,8 +54,7 @@ public class KotlinTypeHierarchyProvider extends JavaTypeHierarchyProvider {
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument());
if (file == null) return null;
if (!ProjectRootsUtil.isInSource(file)) return null;
if (JetPluginUtil.isKtFileInGradleProjectInWrongFolder(file)) return null;
if (!ProjectRootsUtil.isInSourceWithGradleCheck(file)) return null;
PsiElement target = TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.getInstance().getAllAccepted());
@@ -28,7 +28,6 @@ import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.plugin.JetPluginUtil;
import org.jetbrains.jet.plugin.ProjectRootsUtil;
import org.jetbrains.jet.plugin.hierarchy.HierarchyUtils;
@@ -47,8 +46,7 @@ public class KotlinCallHierarchyProvider implements HierarchyProvider {
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument());
if (file == null) return null;
if (!ProjectRootsUtil.isInSource(file)) return null;
if (JetPluginUtil.isKtFileInGradleProjectInWrongFolder(file)) return null;
if (!ProjectRootsUtil.isInSourceWithGradleCheck(file)) return null;
return TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.getInstance().getAllAccepted());
}
@@ -45,7 +45,6 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.plugin.JetLanguage;
import org.jetbrains.jet.plugin.ProjectRootsUtil;
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
import org.jetbrains.jet.plugin.configuration.JetModuleTypeManager;
import org.jetbrains.jet.plugin.util.LongRunningReadTask;
import org.jetbrains.jet.renderer.DescriptorRenderer;
@@ -89,9 +88,7 @@ public class DeclarationHintSupport extends AbstractProjectComponent {
Editor editor = e.getEditor();
PsiFile psiFile = PsiDocumentManager.getInstance(myProject).getPsiFile(editor.getDocument());
if (psiFile == null || psiFile.getLanguage() != JetLanguage.INSTANCE ||
!ProjectRootsUtil.isInSource(psiFile) ||
JetModuleTypeManager.getInstance().isKtFileInGradleProjectInWrongFolder(psiFile)) {
if (psiFile == null || psiFile.getLanguage() != JetLanguage.INSTANCE || !ProjectRootsUtil.isInSourceWithGradleCheck(psiFile)) {
return;
}
@@ -64,7 +64,6 @@ import org.jetbrains.jet.plugin.JetBundle;
import org.jetbrains.jet.plugin.ProjectRootsUtil;
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
import org.jetbrains.jet.plugin.codeInsight.JetFunctionPsiElementCellRenderer;
import org.jetbrains.jet.plugin.configuration.JetModuleTypeManager;
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache;
import org.jetbrains.jet.plugin.search.ideaExtensions.KotlinDefinitionsSearcher;
import org.jetbrains.jet.renderer.DescriptorRenderer;
@@ -370,8 +369,7 @@ public class JetLineMarkerProvider implements LineMarkerProvider {
public void collectSlowLineMarkers(@NotNull List<PsiElement> elements, @NotNull Collection<LineMarkerInfo> result) {
if (elements.isEmpty() ||
DumbService.getInstance(elements.get(0).getProject()).isDumb() ||
!ProjectRootsUtil.isInSource(elements.get(0)) ||
JetModuleTypeManager.getInstance().isKtFileInGradleProjectInWrongFolder(elements.get(0))) {
!ProjectRootsUtil.isInSourceWithGradleCheck(elements.get(0))) {
return;
}
@@ -30,7 +30,6 @@ import org.jetbrains.jet.asJava.LightClassUtil;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.java.jetAsJava.KotlinLightMethod;
import org.jetbrains.jet.plugin.ProjectRootsUtil;
import org.jetbrains.jet.plugin.configuration.JetModuleTypeManager;
import org.jetbrains.jet.plugin.search.usagesSearch.*;
public class KotlinReferencesSearcher extends QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters> {
@@ -59,9 +58,7 @@ public class KotlinReferencesSearcher extends QueryExecutorBase<PsiReference, Re
PsiElement element = queryParameters.getElementToSearch();
final PsiNamedElement unwrappedElement = AsJavaPackage.getNamedUnwrappedElement(element);
if (unwrappedElement == null
|| !ProjectRootsUtil.isInSource(unwrappedElement)
|| JetModuleTypeManager.getInstance().isKtFileInGradleProjectInWrongFolder(unwrappedElement)) return;
if (unwrappedElement == null || !ProjectRootsUtil.isInSourceWithGradleCheck(unwrappedElement)) return;
ApplicationManager.getApplication().runReadAction(
new Runnable() {