private static List<Symbol> extractMembers(Symbol.TypeSymbol classSymbol, boolean ignorePrivate) { List<Symbol> results = Lists.newLinkedList(); for (Symbol symbol : classSymbol.memberSymbols()) { if ((isVariableToExtract(symbol) || isMethodToExtract(symbol)) && !(symbol.isPrivate() && ignorePrivate)) { results.add(symbol); } } return results; }
private static boolean hasOnlyStaticMethods(Symbol.TypeSymbol newClassTypeSymbol) { Collection<MethodSymbol> methods = filterMethods(newClassTypeSymbol.memberSymbols()); if (methods.isEmpty()) { return false; } for (MethodSymbol method : methods) { if (!method.isStatic()) { return false; } } return superClassHasOnlyStaticMethods(newClassTypeSymbol); }