private static boolean containsTypeEquivalent(final TypeReference t, final TypeReference s) { return s == t || containsType(t, s) && containsType(s, t); }
private static boolean containsTypeEquivalent(final TypeReference t, final TypeReference s) { return s == t || containsType(t, s) && containsType(s, t); }
private static boolean containsTypeEquivalent(final TypeReference t, final TypeReference s) { return s == t || containsType(t, s) && containsType(s, t); }
private static boolean containsType(final List<? extends TypeReference> t, final List<? extends TypeReference> s) { if (t.size() != s.size()) { return false; } if (t.isEmpty()) { return true; } for (int i = 0, n = t.size(); i < n; i++) { if (!containsType(t.get(i), s.get(i))) { return false; } } return true; }
private static boolean containsType(final List<? extends TypeReference> t, final List<? extends TypeReference> s) { if (t.size() != s.size()) { return false; } if (t.isEmpty()) { return true; } for (int i = 0, n = t.size(); i < n; i++) { if (!containsType(t.get(i), s.get(i))) { return false; } } return true; }
private static boolean containsType(final List<? extends TypeReference> t, final List<? extends TypeReference> s) { if (t.size() != s.size()) { return false; } if (t.isEmpty()) { return true; } for (int i = 0, n = t.size(); i < n; i++) { if (!containsType(t.get(i), s.get(i))) { return false; } } return true; }
private static boolean containsTypeRecursive(final TypeReference t, final TypeReference s) { final HashSet<Pair<TypeReference, TypeReference>> cache = CONTAINS_TYPE_CACHE.get(); final Pair<TypeReference, TypeReference> pair = new Pair<>(t, s); if (cache.add(pair)) { try { return containsType(getTypeArguments(t), getTypeArguments(s)); } finally { cache.remove(pair); } } else { return containsType(getTypeArguments(t), getTypeArguments(rewriteSupers(s))); } }
private static boolean containsTypeRecursive(final TypeReference t, final TypeReference s) { final HashSet<Pair<TypeReference, TypeReference>> cache = CONTAINS_TYPE_CACHE.get(); final Pair<TypeReference, TypeReference> pair = new Pair<>(t, s); if (cache.add(pair)) { try { return containsType(getTypeArguments(t), getTypeArguments(s)); } finally { cache.remove(pair); } } else { return containsType(getTypeArguments(t), getTypeArguments(rewriteSupers(s))); } }
private static boolean containsTypeRecursive(final TypeReference t, final TypeReference s) { final HashSet<Pair<TypeReference, TypeReference>> cache = CONTAINS_TYPE_CACHE.get(); final Pair<TypeReference, TypeReference> pair = new Pair<>(t, s); if (cache.add(pair)) { try { return containsType(getTypeArguments(t), getTypeArguments(s)); } finally { cache.remove(pair); } } else { return containsType(getTypeArguments(t), getTypeArguments(rewriteSupers(s))); } }