boolean (@NotNull PsiClass element, @NotNull String qualifiedName, @NotNull ClassPattern pattern, @NotNull Set<? super PsiClass> visited) { if (qualifiedName.equals(pattern.pattern)) { return true; } Pattern regexp = pattern.getRegexp(); if (regexp != null) { try { if (regexp.matcher(qualifiedName).matches()) { return true; } } catch (PatternSyntaxException ignored) {} } if (pattern.hierarchically) { for (PsiClass superClass : element.getSupers()) { String superClassQualifiedName = superClass.getQualifiedName(); if (visited.add(superClass) && superClassQualifiedName != null && isAcceptedByPattern(superClass, superClassQualifiedName, pattern, visited)) { return true; } } } return false; }