@Override public void visit(final ArrayCreationExpr n, final A arg) { visitComment(n.getComment(), arg); n.getType().accept(this, arg); for (ArrayCreationLevel level : n.getLevels()) { level.accept(this, arg); } if (n.getInitializer() != null) { n.getInitializer().accept(this, arg); } }
@Override public Boolean visit(final ArrayCreationExpr n1, final Node arg) { final ArrayCreationExpr n2 = (ArrayCreationExpr) arg; if (n1.getArrayCount() != n2.getArrayCount()) { return Boolean.FALSE; } if (!nodeEquals(n1.getType(), n2.getType())) { return Boolean.FALSE; } if (!nodeEquals(n1.getInitializer(), n2.getInitializer())) { return Boolean.FALSE; } if (!nodesEquals(n1.getDimensions(), n2.getDimensions())) { return Boolean.FALSE; } List<List<AnnotationExpr>> n1a = n1.getArraysAnnotations(); List<List<AnnotationExpr>> n2a = n2.getArraysAnnotations(); if (n1a != null && n2a != null) { if (n1a.size() != n2a.size()) { return Boolean.FALSE; } else { int i = 0; for (List<AnnotationExpr> aux : n1a) { if (!nodesEquals(aux, n2a.get(i))) { return Boolean.FALSE; } i++; } } } else if (n1a != n2a) { return Boolean.FALSE; } return Boolean.TRUE; }