Eval retval = null;
StringBuffer sb = null;
switch (operands.length) {
default: // paranoid check :)
retval = ErrorEval.UNKNOWN_ERROR;
break;
case 2:
sb = new StringBuffer();
for (int i = 0, iSize = 2; retval == null && i < iSize; i++) {
ValueEval ve = singleOperandEvaluate(operands[i], srcRow, srcCol);
if (ve instanceof StringValueEval) {
StringValueEval sve = (StringValueEval) ve;
sb.append(sve.getStringValue());
}
else if (ve instanceof BlankEval) {
// do nothing
}
else { // must be an error eval
retval = ve;
}
}
}
if (retval == null) {
retval = new StringEval(sb.toString());
}
return retval;