loadInterfaceInheritedMembers(methodSpecification);
}
private void loadSuperclassInheritedMembers(MemberSpecification specification) {
LinkedHashMap<TypeDeclaration, List<Declaration>> inheritedMembers = new LinkedHashMap<TypeDeclaration, List<Declaration>>();
TypeDeclaration subclass = klass;
for (TypeDeclaration superClass : superClasses) {
List<Declaration> methods = getInheritedMembers(superClass, specification);
if (methods.isEmpty())
continue;
List<Declaration> notRefined = new ArrayList<Declaration>();
// clean already listed methods (refined in subclasses)
// done in 2 phases to avoid empty tables
for (Declaration method : methods) {
if (subclass.getDirectMember(method.getName(), null, false) == null) {
notRefined.add(method);
}
}
if (notRefined.isEmpty())
continue;