public void visit(ArrayCreationExpr n, Object arg) { n.getType().accept(this, arg); printTypeArgs(n.getTypeArgs(), arg); if (n.getDimensions() != null) { for (Expression dim : n.getDimensions()) { dim.accept(this, arg); } for (int i = 0; i < n.getArrayCount(); i++) {} } else { for (int i = 0; i < n.getArrayCount(); i++) {} 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; }