/**
  * Marks the specified expr to the specified value.
  *
  * @param expr
  * @param b can
  */
 public void setIsCandidate(ExprNodeDesc expr, boolean b) {
   ExprInfo ei = exprInfoMap.get(expr);
   if (ei == null) {
     ei = new ExprInfo();
     exprInfoMap.put(expr, ei);
   }
   ei.isCandidate = b;
 }
 /**
  * adds a replacement node for this expression.
  *
  * @param oldNode original node
  * @param newNode new node
  */
 public void addConvertedNode(ExprNodeDesc oldNode, ExprNodeDesc newNode) {
   ExprInfo ei = exprInfoMap.get(oldNode);
   if (ei == null) {
     ei = new ExprInfo();
     exprInfoMap.put(oldNode, ei);
   }
   ei.convertedExpr = newNode;
   exprInfoMap.put(newNode, new ExprInfo(ei.isCandidate, ei.alias, null));
 }
 /**
  * Adds the specified alias to the specified expr.
  *
  * @param expr
  * @param alias
  */
 public void addAlias(ExprNodeDesc expr, String alias) {
   if (alias == null) {
     return;
   }
   ExprInfo ei = exprInfoMap.get(expr);
   if (ei == null) {
     ei = new ExprInfo();
     exprInfoMap.put(expr, ei);
   }
   ei.alias = alias;
 }