} else
if ( e instanceof InfixExpression && ( ((InfixExpression)e).getOperator() == InfixExpression.Operator.PLUS ) ) {
/**
* Follow arguments of a string concatenation.
* */
InfixExpression ie = (InfixExpression) e;
Expression leftExpr = ie.getLeftOperand();
Expression rightExpr = ie.getRightOperand();
HistoryDefinitionLocation concatDL;
if(!first){
concatDL = new HistoryDefinitionLocation(
e.toString(),
resource,
cu.getLineNumber(e.getStartPosition()),
e,
parent, HistoryDefinitionLocation.STRING_CONCAT);
}
else
concatDL=parent;
if(registerExpansion(concatDL)) {
processExpression(concatDL, leftExpr, cu, resource, stack, monitor, HistoryDefinitionLocation.COPY,false);
processExpression(concatDL, rightExpr, cu, resource, stack, monitor, HistoryDefinitionLocation.COPY,false);
if(ie.extendedOperands() != null) {
for(Iterator iter = ie.extendedOperands().iterator(); iter.hasNext(); ) {
Expression ext_e = (Expression) iter.next();
processExpression(concatDL, ext_e, cu, resource, stack, monitor, HistoryDefinitionLocation.COPY,false);
}
}