From f9dedbe3b09c679d2583178559eac464a51b23c0 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Tue, 17 Jan 2017 19:55:30 +0300 Subject: [PATCH] [groovy] get rid of GroovyPsiManager#isInheritorCached(PsiClass, String) --- .../groovy/geb/GebContentDeclarationSearcher.java | 8 ++++---- .../plugins/groovy/lang/psi/impl/GroovyPsiManager.java | 10 ++-------- .../groovy/spock/SpockPomDeclarationSearcher.java | 6 +++--- .../plugins/groovy/spock/SpockTestFramework.java | 8 ++++---- 4 files changed, 13 insertions(+), 19 deletions(-) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/geb/GebContentDeclarationSearcher.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/geb/GebContentDeclarationSearcher.java index b54631873405..8c9a3c4d2068 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/geb/GebContentDeclarationSearcher.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/geb/GebContentDeclarationSearcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,12 +21,12 @@ import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiField; import com.intellij.psi.PsiModifier; +import com.intellij.psi.util.InheritanceUtil; import com.intellij.util.Consumer; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrField; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrMethodCall; -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; import java.util.Map; @@ -49,8 +49,8 @@ public class GebContentDeclarationSearcher extends PomDeclarationSearcher { if (!"content".equals(field.getName()) || !field.hasModifierProperty(PsiModifier.STATIC)) return; PsiClass containingClass = field.getContainingClass(); - if (!GroovyPsiManager.isInheritorCached(containingClass, "geb.Page") - && !GroovyPsiManager.isInheritorCached(containingClass, "geb.Module")) return; + if (!InheritanceUtil.isInheritor(containingClass, "geb.Page") + && !InheritanceUtil.isInheritor(containingClass, "geb.Module")) return; Map elements = GebUtil.getContentElements(containingClass); diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java index 24e3dc4086bd..65818b1777ca 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -76,15 +76,9 @@ public class GroovyPsiManager { myCompileStatic.clear(); } - public static boolean isInheritorCached(@Nullable PsiClass aClass, @NotNull String baseClassName) { - if (aClass == null) return false; - - return InheritanceUtil.isInheritorOrSelf(aClass, getInstance(aClass.getProject()).findClassWithCache(baseClassName, aClass.getResolveScope()), true); - } - public static boolean isInheritorCached(@Nullable PsiType type, @NotNull String baseClassName) { if (type instanceof PsiClassType) { - return isInheritorCached(((PsiClassType)type).resolve(), baseClassName); + return InheritanceUtil.isInheritor(((PsiClassType)type).resolve(), baseClassName); } return false; } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/spock/SpockPomDeclarationSearcher.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/spock/SpockPomDeclarationSearcher.java index f9049c2e3555..38698238e14a 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/spock/SpockPomDeclarationSearcher.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/spock/SpockPomDeclarationSearcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,11 +19,11 @@ import com.intellij.pom.PomDeclarationSearcher; import com.intellij.pom.PomTarget; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; +import com.intellij.psi.util.InheritanceUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.Consumer; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; import java.util.Map; @@ -42,7 +42,7 @@ public class SpockPomDeclarationSearcher extends PomDeclarationSearcher { PsiClass containingClass = method.getContainingClass(); if (containingClass == null) return; - if (!GroovyPsiManager.isInheritorCached(containingClass, SpockUtils.SPEC_CLASS_NAME)) return; + if (!InheritanceUtil.isInheritor(containingClass, SpockUtils.SPEC_CLASS_NAME)) return; Map cachedValue = SpockUtils.getVariableMap(method); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/spock/SpockTestFramework.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/spock/SpockTestFramework.java index 56fff9e5d517..5c6e76126ab6 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/spock/SpockTestFramework.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/spock/SpockTestFramework.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,11 +20,11 @@ import com.intellij.ide.fileTemplates.FileTemplateDescriptor; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; +import com.intellij.psi.util.InheritanceUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.GroovyLanguage; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; import org.jetbrains.plugins.groovy.testIntegration.GroovyTestFramework; /** @@ -68,7 +68,7 @@ public class SpockTestFramework extends GroovyTestFramework { public boolean isTestMethod(PsiElement element) { if (!(element instanceof GrMethod)) return false; - return GroovyPsiManager.isInheritorCached(((GrMethod)element).getContainingClass(), SpockUtils.SPEC_CLASS_NAME) + return InheritanceUtil.isInheritor(((GrMethod)element).getContainingClass(), SpockUtils.SPEC_CLASS_NAME) && JUnitUtil.getTestMethod(element) != null; } @@ -80,7 +80,7 @@ public class SpockTestFramework extends GroovyTestFramework { @Override protected boolean isTestClass(PsiClass clazz, boolean canBePotential) { return clazz.getLanguage() == GroovyLanguage.INSTANCE - && GroovyPsiManager.isInheritorCached(clazz, SpockUtils.SPEC_CLASS_NAME); + && InheritanceUtil.isInheritor(clazz, SpockUtils.SPEC_CLASS_NAME); } private PsiMethod findSpecificMethod(@NotNull PsiClass clazz, String methodName) {