[groovy] get rid of GroovyPsiManager#isInheritorCached(PsiClass, String)

This commit is contained in:
Daniil Ovchinnikov
2017-01-17 20:36:02 +03:00
parent 4222bc2608
commit f9dedbe3b0
4 changed files with 13 additions and 19 deletions
@@ -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<String, PsiField> elements = GebUtil.getContentElements(containingClass);
@@ -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;
}
@@ -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<String, SpockVariableDescriptor> cachedValue = SpockUtils.getVariableMap(method);
@@ -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) {