From f454e6e6aed60b5e965f04e5925c3e01eebf549f Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 20 Feb 2018 21:32:13 +0100 Subject: [PATCH] TestNGUtil: avoid endless loop on circular class inheritance --- .../theoryinpractice/testng/util/TestNGUtil.java | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/plugins/testng/src/com/theoryinpractice/testng/util/TestNGUtil.java b/plugins/testng/src/com/theoryinpractice/testng/util/TestNGUtil.java index 29827c935ab4..5d3851de58aa 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/util/TestNGUtil.java +++ b/plugins/testng/src/com/theoryinpractice/testng/util/TestNGUtil.java @@ -440,20 +440,7 @@ public class TestNGUtil { } public static boolean inheritsJUnitTestCase(PsiClass psiClass) { - PsiClass current = psiClass; - while (current != null) { - PsiClass[] supers = current.getSupers(); - if (supers.length > 0) { - PsiClass parent = supers[0]; - if ("junit.framework.TestCase".equals(parent.getQualifiedName())) return true; - current = parent; - //handle typo where class extends itself - if (current == psiClass) return false; - } else { - current = null; - } - } - return false; + return InheritanceUtil.isInheritor(psiClass, "junit.framework.TestCase"); } public static boolean inheritsITestListener(@NotNull PsiClass psiClass) {