public static Expression of(String s) { s = s.trim(); int outerPlus = findOuterPlus(s); if (outerPlus > 0) { return new SumExpression( Expression.of(s.substring(0, outerPlus)), Expression.of(s.substring(outerPlus + 1))); } if (s.startsWith("(") && s.endsWith(")")) { return Expression.of(s.substring(1, s.length() - 1)); } if (s.length() > 0 && Character.isDigit(s.charAt(0))) { return ConstantExpression.of(s); } return VariableExpression.of(s); }
private Class<?> jitVariableExpression(VariableExpression exp) { jitReadVariable(exp.variableName); return exp.subsequentInvocations != null ? jitEvaluatedExpression(exp.subsequentInvocations, false, exp.getVariableType()) : exp.getType(); }
/** * Assigns a boolean value to a <code>VariableExpression</code> * * @param varExp the varaible <i>Expression</i> to assign a value to * @param bool the boolean value to assign */ public void assign(VariableExpression varExp, boolean bool) { assignments.put(varExp.getName(), new Boolean(bool)); }