if (expr.children != null) { for(int i=0; i < expr.children.size(); ++i) { ExpressionTree child = foldMaybe(expr.children.get(i)); if (child.constant == TruthValue.YES_NO_NULL) { switch (expr.operator) {
/** * Builds the expression and optimized leaf list from a non-normalized * expression. Sets the leaves field with the unique leaves. * @param expr non-normalized expression * @param leaves non-unique leaves * @return the normalized expression */ ExpressionTree expression(ExpressionTree expr, List<PredicateLeaf> leaves) { expr = pushDownNot(expr); expr = foldMaybe(expr); expr = flatten(expr); expr = convertToCNF(expr); expr = flatten(expr); expr = buildLeafList(expr, leaves, new HashMap<PredicateLeaf, ExpressionTree>()); return expr; }