@Override public void visit(final MethodDeclaration n, final A arg) { visitComment(n.getComment(), arg); visitAnnotations(n, arg); if (n.getTypeParameters() != null) { for (final TypeParameter t : n.getTypeParameters()) { t.accept(this, arg); } } n.getElementType().accept(this, arg); n.getNameExpr().accept(this, arg); if (n.getParameters() != null) { for (final Parameter p : n.getParameters()) { p.accept(this, arg); } } if (n.getThrows() != null) { for (final ReferenceType name : n.getThrows()) { name.accept(this, arg); } } if (n.getBody() != null) { n.getBody().accept(this, arg); } }
@Override public List<TypeVariable> getTypeVariables() { return declaration .getTypeParameters() .stream() .map(getContext()::resolveTypeVariable) .collect(Collectors.toList()); }
@Override public Boolean visit(final MethodDeclaration n1, final Node arg) { final MethodDeclaration n2 = (MethodDeclaration) arg; // javadoc are checked at CompilationUnit if (n1.getModifiers() != n2.getModifiers()) { return Boolean.FALSE; } if (n1.getArrayCount() != n2.getArrayCount()) { return Boolean.FALSE; } if (!objEquals(n1.getName(), n2.getName())) { return Boolean.FALSE; } if (!nodeEquals(n1.getType(), n2.getType())) { return Boolean.FALSE; } if (!nodesEquals(n1.getAnnotations(), n2.getAnnotations())) { return Boolean.FALSE; } if (!nodeEquals(n1.getBody(), n2.getBody())) { return Boolean.FALSE; } if (!nodesEquals(n1.getParameters(), n2.getParameters())) { return Boolean.FALSE; } if (!nodesEquals(n1.getThrows(), n2.getThrows())) { return Boolean.FALSE; } if (!nodesEquals(n1.getTypeParameters(), n2.getTypeParameters())) { return Boolean.FALSE; } if (n1.isDefault() != n2.isDefault()) { return Boolean.FALSE; } return Boolean.TRUE; }