Example #1
0
  @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;
  }
Example #2
0
  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);
    }
  }