private static Collection<MethodSymbol> filterMethods(Collection<Symbol> symbols) { List<MethodSymbol> methods = Lists.newArrayList(); for (Symbol symbol : symbols) { if (symbol.isMethodSymbol() && !isConstructor(symbol)) { methods.add((MethodSymbol) symbol); } } return methods; }
private int referenceInstance(Symbol symbol) { Symbol owner = symbol.owner(); if (owner != null && owner.isMethodSymbol()) { // local variable, use owner of the method owner = owner.owner(); } int result = -1; if (owner != null && !outerClasses.peek().equals(owner)) { if (symbol.isUnknown()) { result = atLeastOneReference.size() - 1; } else if (!symbol.isStatic()) { result = fromInstance(symbol, owner); } } return result; }
private void visitMethodInvocationTree(MethodInvocationTree methodInvocationTree) { if (isValueOfInvocation(methodInvocationTree)) { checkForUnboxing(methodInvocationTree.arguments().get(0)); } else if (isUnboxingMethodInvocation(methodInvocationTree)) { ExpressionTree methodSelect = methodInvocationTree.methodSelect(); if (methodSelect.is(Tree.Kind.MEMBER_SELECT)) { MemberSelectExpressionTree memberSelectExpressionTree = (MemberSelectExpressionTree) methodSelect; checkForBoxing(memberSelectExpressionTree.expression()); } } else { Symbol symbol = methodInvocationTree.symbol(); if (symbol.isMethodSymbol()) { List<Type> parametersTypes = ((Symbol.MethodSymbol) symbol).parameterTypes(); checkMethodInvocationArguments(methodInvocationTree, parametersTypes); } } }
private static boolean isMethodToExtract(Symbol symbol) { return symbol.isMethodSymbol() && !"<init>".equals(symbol.name()); }
private static String getSymbolTypeName(Symbol symbol) { return symbol.isMethodSymbol() ? "method" : "field"; }
private static boolean variableAndMethod(Symbol s1, Symbol s2) { return s1.isVariableSymbol() && s2.isMethodSymbol(); }
private static boolean isOverriding(Symbol symbol) { return symbol.isMethodSymbol() && BooleanUtils.isTrue(((MethodTreeImpl) symbol.declaration()).isOverriding()); }
private static boolean isMethodMatchingName(Symbol symbol, String matchName) { return symbol.isMethodSymbol() && matchName.equals(symbol.name()); }
private static boolean isObjectsMethod(Symbol symbol, String methodName) { return symbol.isMethodSymbol() && symbol.owner().type().is("java.util.Objects") && methodName.equals(symbol.name()); }