Пример #1
0
  public static void collectOr(Expr expr, List<ExprList> list) {
    if (expr instanceof E_LogicalOr) {
      E_LogicalOr e = (E_LogicalOr) expr;

      collectOr(e.getArg1(), list);
      collectOr(e.getArg2(), list);
    } else if (expr instanceof E_LogicalAnd) {
      // List<Expr> ors = new ArrayList<Expr>();
      ExprList ors = new ExprList();
      collectAnd(expr, ors);

      list.add(ors);
    } else {
      list.add(new ExprList(expr));
    }
  }