ComparisonOperator orig = (ComparisonOperator)op;
ComparisonOperator cloneOp = (ComparisonOperator)matches.get(op);
cloneOp.setOperandType(orig.getOperandType());
}
if (op instanceof UnaryExpressionOperator) {
UnaryExpressionOperator orig = (UnaryExpressionOperator)op;
UnaryExpressionOperator cloneOp = (UnaryExpressionOperator)matches.get(op);
cloneOp.setExpr((ExpressionOperator)matches.get(orig.getExpr()));
} else if (op instanceof BinaryExpressionOperator) {
BinaryExpressionOperator orig = (BinaryExpressionOperator)op;
BinaryExpressionOperator cloneOp = (BinaryExpressionOperator)matches.get(op);
cloneOp.setRhs((ExpressionOperator)matches.get(orig.getRhs()));
cloneOp.setLhs((ExpressionOperator)matches.get(orig.getLhs()));
} else if (op instanceof POBinCond) {
POBinCond orig = (POBinCond)op;
POBinCond cloneOp = (POBinCond)matches.get(op);
cloneOp.setRhs((ExpressionOperator)matches.get(orig.getRhs()));
cloneOp.setLhs((ExpressionOperator)matches.get(orig.getLhs()));
cloneOp.setCond((ExpressionOperator)matches.get(orig.getCond()));
}
}
return clone;
}