/** * * @param annotatedType * @param methods * @param skipOverridingBridgeMethods If set to <code>true</code> the returning set will not contain methods overriden by a bridge method * @return the set of overriden methods */ protected Set<EnhancedAnnotatedMethod<?, ? super T>> getOverriddenMethods(EnhancedAnnotatedType<T> annotatedType, Set<EnhancedAnnotatedMethod<?, ? super T>> methods, boolean skipOverridingBridgeMethods) { Set<EnhancedAnnotatedMethod<?, ? super T>> overriddenMethods = new HashSet<EnhancedAnnotatedMethod<?, ? super T>>(); Multimap<MethodSignature, Package> seenMethods = SetMultimap.newSetMultimap(); for (Class<? super T> clazz = annotatedType.getJavaClass(); clazz != null && clazz != Object.class; clazz = clazz.getSuperclass()) { for (EnhancedAnnotatedMethod<?, ? super T> method : methods) { if (method.getJavaMember().getDeclaringClass().equals(clazz)) { if (skipOverridingBridgeMethods && method.getJavaMember().isBridge()) { continue; } if (isOverridden(method, seenMethods)) { overriddenMethods.add(method); } seenMethods.put(method.getSignature(), method.getPackage()); } } } return immutableSetView(overriddenMethods); }
/** * * @param annotatedType * @param methods * @param skipOverridingBridgeMethods If set to <code>true</code> the returning set will not contain methods overriden by a bridge method * @return the set of overriden methods */ protected Set<EnhancedAnnotatedMethod<?, ? super T>> getOverriddenMethods(EnhancedAnnotatedType<T> annotatedType, Set<EnhancedAnnotatedMethod<?, ? super T>> methods, boolean skipOverridingBridgeMethods) { Set<EnhancedAnnotatedMethod<?, ? super T>> overriddenMethods = new HashSet<EnhancedAnnotatedMethod<?, ? super T>>(); Multimap<MethodSignature, Package> seenMethods = SetMultimap.newSetMultimap(); for (Class<? super T> clazz = annotatedType.getJavaClass(); clazz != null && clazz != Object.class; clazz = clazz.getSuperclass()) { for (EnhancedAnnotatedMethod<?, ? super T> method : methods) { if (method.getJavaMember().getDeclaringClass().equals(clazz)) { if (skipOverridingBridgeMethods && method.getJavaMember().isBridge()) { continue; } if (isOverridden(method, seenMethods)) { overriddenMethods.add(method); } seenMethods.put(method.getSignature(), method.getPackage()); } } } return immutableSetView(overriddenMethods); }
/** * * @param annotatedType * @param methods * @param skipOverridingBridgeMethods If set to <code>true</code> the returning set will not contain methods overriden by a bridge method * @return the set of overriden methods */ protected Set<EnhancedAnnotatedMethod<?, ? super T>> getOverriddenMethods(EnhancedAnnotatedType<T> annotatedType, Set<EnhancedAnnotatedMethod<?, ? super T>> methods, boolean skipOverridingBridgeMethods) { Set<EnhancedAnnotatedMethod<?, ? super T>> overriddenMethods = new HashSet<EnhancedAnnotatedMethod<?, ? super T>>(); Multimap<MethodSignature, Package> seenMethods = SetMultimap.newSetMultimap(); for (Class<? super T> clazz = annotatedType.getJavaClass(); clazz != null && clazz != Object.class; clazz = clazz.getSuperclass()) { for (EnhancedAnnotatedMethod<?, ? super T> method : methods) { if (method.getJavaMember().getDeclaringClass().equals(clazz)) { if (skipOverridingBridgeMethods && method.getJavaMember().isBridge()) { continue; } if (isOverridden(method, seenMethods)) { overriddenMethods.add(method); } seenMethods.put(method.getSignature(), method.getPackage()); } } } return immutableSetView(overriddenMethods); }
/** * * @param annotatedType * @param methods * @param skipOverridingBridgeMethods If set to <code>true</code> the returning set will not contain methods overriden by a bridge method * @return the set of overriden methods */ protected Set<EnhancedAnnotatedMethod<?, ? super T>> getOverriddenMethods(EnhancedAnnotatedType<T> annotatedType, Set<EnhancedAnnotatedMethod<?, ? super T>> methods, boolean skipOverridingBridgeMethods) { Set<EnhancedAnnotatedMethod<?, ? super T>> overriddenMethods = new HashSet<EnhancedAnnotatedMethod<?, ? super T>>(); Multimap<MethodSignature, Package> seenMethods = SetMultimap.newSetMultimap(); for (Class<? super T> clazz = annotatedType.getJavaClass(); clazz != null && clazz != Object.class; clazz = clazz.getSuperclass()) { for (EnhancedAnnotatedMethod<?, ? super T> method : methods) { if (method.getJavaMember().getDeclaringClass().equals(clazz)) { if (skipOverridingBridgeMethods && method.getJavaMember().isBridge()) { continue; } if (isOverridden(method, seenMethods)) { overriddenMethods.add(method); } seenMethods.put(method.getSignature(), method.getPackage()); } } } return immutableSetView(overriddenMethods); }
/** * * @param annotatedType * @param methods * @param skipOverridingBridgeMethods If set to <code>true</code> the returning set will not contain methods overriden by a bridge method * @return the set of overriden methods */ protected Set<EnhancedAnnotatedMethod<?, ? super T>> getOverriddenMethods(EnhancedAnnotatedType<T> annotatedType, Set<EnhancedAnnotatedMethod<?, ? super T>> methods, boolean skipOverridingBridgeMethods) { Set<EnhancedAnnotatedMethod<?, ? super T>> overriddenMethods = new HashSet<EnhancedAnnotatedMethod<?, ? super T>>(); Multimap<MethodSignature, Package> seenMethods = SetMultimap.newSetMultimap(); for (Class<? super T> clazz = annotatedType.getJavaClass(); clazz != null && clazz != Object.class; clazz = clazz.getSuperclass()) { for (EnhancedAnnotatedMethod<?, ? super T> method : methods) { if (method.getJavaMember().getDeclaringClass().equals(clazz)) { if (skipOverridingBridgeMethods && method.getJavaMember().isBridge()) { continue; } if (isOverridden(method, seenMethods)) { overriddenMethods.add(method); } seenMethods.put(method.getSignature(), method.getPackage()); } } } return immutableSetView(overriddenMethods); }
/** * * @param annotatedType * @param methods * @param skipOverridingBridgeMethods If set to <code>true</code> the returning set will not contain methods overriden by a bridge method * @return the set of overriden methods */ protected Set<EnhancedAnnotatedMethod<?, ? super T>> getOverriddenMethods(EnhancedAnnotatedType<T> annotatedType, Set<EnhancedAnnotatedMethod<?, ? super T>> methods, boolean skipOverridingBridgeMethods) { Set<EnhancedAnnotatedMethod<?, ? super T>> overriddenMethods = new HashSet<EnhancedAnnotatedMethod<?, ? super T>>(); Multimap<MethodSignature, Package> seenMethods = SetMultimap.newSetMultimap(); for (Class<? super T> clazz = annotatedType.getJavaClass(); clazz != null && clazz != Object.class; clazz = clazz.getSuperclass()) { for (EnhancedAnnotatedMethod<?, ? super T> method : methods) { if (method.getJavaMember().getDeclaringClass().equals(clazz)) { if (skipOverridingBridgeMethods && method.getJavaMember().isBridge()) { continue; } if (isOverridden(method, seenMethods)) { overriddenMethods.add(method); } seenMethods.put(method.getSignature(), method.getPackage()); } } } return immutableSetView(overriddenMethods); }
private static boolean isOverridden(EnhancedAnnotatedMethod<?, ?> method, Multimap<MethodSignature, Package> seenMethods) { if (method.isPrivate()) { return false; } else if (method.isPackagePrivate() && seenMethods.containsKey(method.getSignature())) { return seenMethods.get(method.getSignature()).contains(method.getPackage()); } else { return seenMethods.containsKey(method.getSignature()); } }
private static boolean isOverridden(EnhancedAnnotatedMethod<?, ?> method, Multimap<MethodSignature, Package> seenMethods) { if (method.isPrivate()) { return false; } else if (method.isPackagePrivate() && seenMethods.containsKey(method.getSignature())) { return seenMethods.get(method.getSignature()).contains(method.getPackage()); } else { return seenMethods.containsKey(method.getSignature()); } }
private static boolean isOverridden(EnhancedAnnotatedMethod<?, ?> method, Multimap<MethodSignature, Package> seenMethods) { if (method.isPrivate()) { return false; } else if (method.isPackagePrivate() && seenMethods.containsKey(method.getSignature())) { return seenMethods.get(method.getSignature()).contains(method.getPackage()); } else { return seenMethods.containsKey(method.getSignature()); } }
private static boolean isOverridden(EnhancedAnnotatedMethod<?, ?> method, Multimap<MethodSignature, Package> seenMethods) { if (method.isPrivate()) { return false; } else if (method.isPackagePrivate() && seenMethods.containsKey(method.getSignature())) { return seenMethods.get(method.getSignature()).contains(method.getPackage()); } else { return seenMethods.containsKey(method.getSignature()); } }
private static boolean isOverridden(EnhancedAnnotatedMethod<?, ?> method, Multimap<MethodSignature, Package> seenMethods) { if (method.isPrivate()) { return false; } else if (method.isPackagePrivate() && seenMethods.containsKey(method.getSignature())) { return seenMethods.get(method.getSignature()).contains(method.getPackage()); } else { return seenMethods.containsKey(method.getSignature()); } }
private static boolean isOverridden(EnhancedAnnotatedMethod<?, ?> method, Multimap<MethodSignature, Package> seenMethods) { if (method.isPrivate()) { return false; } else if (method.isPackagePrivate() && seenMethods.containsKey(method.getSignature())) { return seenMethods.get(method.getSignature()).contains(method.getPackage()); } else { return seenMethods.containsKey(method.getSignature()); } }