}
else {
try {
if (oper != -1) {
if (nestParm == null) {
throw new CompileException("operative assignment not possible here", block, start);
}
String rewrittenExpr = new String(
createShortFormOperativeAssignment(nestParm + "." + parm, block, _st, _end - _st, oper));
MVEL.setProperty(ctx, parm, MVEL.eval(rewrittenExpr, ctx, factory));
}
else {
MVEL.setProperty(ctx, parm, MVEL.eval(block, _st, _end - _st, ctx, factory));
}
}
catch (CompileException e) {
e.setCursor(_st + (e.getCursor() - (e.getExpr().length - offset)));
e.setExpr(block);
throw e;
}
parm = null;
oper = -1;
_st = ++i;
}
_end = -1;
break;
}
}
if (_st != (_end = end)) {
try {
if (parm == null || "".equals(parm)) {
if (nestParm == null) {
MVEL.eval(new String(block, _st, _end - _st), ctx, factory);
}
else {
MVEL.eval(new StringAppender(nestParm).append('.')
.append(block, _st, _end - _st).toString(), ctx, factory);
}
}
else {
if (oper != -1) {
if (nestParm == null) {
throw new CompileException("operative assignment not possible here", block, start);
}
MVEL.setProperty(ctx, parm,
MVEL.eval(
new String(createShortFormOperativeAssignment(nestParm + "." + parm, block, _st, _end - _st, oper)),