@Override protected Expression deepCloneWithIdentifierReplaced_inner( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { return new AddConcatExpression( left.deepCloneWithIdentifierReplaced(replacedIdentifier, replacement, replacementState), right.deepCloneWithIdentifierReplaced(replacedIdentifier, replacement, replacementState)); }
@Override TemplateModel _eval(Environment env) throws TemplateException { return _eval(env, this, left, left.eval(env), right, right.eval(env)); }
Number first = EvalUtil.modelToNumber((TemplateNumberModel) leftModel, leftExp); Number second = EvalUtil.modelToNumber((TemplateNumberModel) rightModel, rightExp); return _evalOnNumbers(env, parent, first, second); } else if (leftModel instanceof TemplateSequenceModel && rightModel instanceof TemplateSequenceModel) { return new ConcatenatedSequence((TemplateSequenceModel) leftModel, (TemplateSequenceModel) rightModel); return _eval_concatenateHashes(leftModel, rightModel); return _eval_concatenateHashes(leftModel, rightModel); return _eval_concatenateHashes(leftModel, rightModel); } else { throw e;
value = AddConcatExpression._eval(env, namespaceExp, null, lhoValue, valueExp, value); } else { // Numerical operation Number lhoNumber; value = AddConcatExpression._evalOnNumbers(env, getParentElement(), lhoNumber, ONE); } else if (operatorType == OPERATOR_TYPE_MINUS_MINUS) { value = ArithmeticExpression._eval(
env != null ? env.getArithmeticEngine() : getTemplate().getArithmeticEngine(); return new SimpleNumber(ae.add(first, second)); String s1 = getStringValue(leftModel, left, env); if(s1 == null) s1 = "null"; String s2 = getStringValue(rightModel, right, env); if(s2 == null) s2 = "null"; return new SimpleScalar(s1.concat(s2));
value = AddConcatExpression._eval(env, namespaceExp, null, lhoValue, valueExp, value); } else { // Numerical operation Number lhoNumber; value = AddConcatExpression._evalOnNumbers(env, getParentElement(), lhoNumber, ONE); } else if (operatorType == OPERATOR_TYPE_MINUS_MINUS) { value = ArithmeticExpression._eval(
result = new AddConcatExpression(lhs, rhs); } else { numberLiteralOnly(lhs);
Number first = EvalUtil.modelToNumber((TemplateNumberModel) leftModel, leftExp); Number second = EvalUtil.modelToNumber((TemplateNumberModel) rightModel, rightExp); return _evalOnNumbers(env, parent, first, second); } else if (leftModel instanceof TemplateSequenceModel && rightModel instanceof TemplateSequenceModel) { return new ConcatenatedSequence((TemplateSequenceModel) leftModel, (TemplateSequenceModel) rightModel); return _eval_concatenateHashes(leftModel, rightModel); return _eval_concatenateHashes(leftModel, rightModel); return _eval_concatenateHashes(leftModel, rightModel); } else { throw e;
value = AddConcatExpression._eval(env, namespaceExp, null, lhoValue, valueExp, value); } else { // Numerical operation Number lhoNumber; value = AddConcatExpression._evalOnNumbers(env, getParentElement(), lhoNumber, ONE); } else if (operatorType == OPERATOR_TYPE_MINUS_MINUS) { value = ArithmeticExpression._eval(
@Override TemplateModel _eval(Environment env) throws TemplateException { return _eval(env, this, left, left.eval(env), right, right.eval(env)); }
@Override protected Expression deepCloneWithIdentifierReplaced_inner( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { return new AddConcatExpression( left.deepCloneWithIdentifierReplaced(replacedIdentifier, replacement, replacementState), right.deepCloneWithIdentifierReplaced(replacedIdentifier, replacement, replacementState)); }
Number first = EvalUtil.modelToNumber((TemplateNumberModel) leftModel, leftExp); Number second = EvalUtil.modelToNumber((TemplateNumberModel) rightModel, rightExp); return _evalOnNumbers(env, parent, first, second); } else if (leftModel instanceof TemplateSequenceModel && rightModel instanceof TemplateSequenceModel) { return new ConcatenatedSequence((TemplateSequenceModel) leftModel, (TemplateSequenceModel) rightModel); return _eval_concatenateHashes(leftModel, rightModel); return _eval_concatenateHashes(leftModel, rightModel); return _eval_concatenateHashes(leftModel, rightModel); } else { throw e;
@Override TemplateModel _eval(Environment env) throws TemplateException { return _eval(env, this, left, left.eval(env), right, right.eval(env)); }
@Override protected Expression deepCloneWithIdentifierReplaced_inner( String replacedIdentifier, Expression replacement, ReplacemenetState replacementState) { return new AddConcatExpression( left.deepCloneWithIdentifierReplaced(replacedIdentifier, replacement, replacementState), right.deepCloneWithIdentifierReplaced(replacedIdentifier, replacement, replacementState)); }
Expression _deepClone(String name, Expression subst) { return new AddConcatExpression(left.deepClone(name, subst), right.deepClone(name, subst)); }
result = new AddConcatExpression(lhs, rhs); } else { numberLiteralOnly(lhs);
result = new AddConcatExpression(lhs, rhs); } else { numberLiteralOnly(lhs);
result = new AddConcatExpression(lhs, rhs);