evaluateJSExpr( cx,
evaluateJSAsExpr( cx,
	public static Object evalExpr( IBaseExpression expr, Context cx, Scriptable scope, 				String source, int lineNo )		throws DataException	{		if ( logger.isLoggable( Level.FINER ) )			logger.entering( ScriptEvalUtil.class.getName( ),				"evalExpr",				"evalExpr() expr="						+ LogUtil.toString( expr ) + ", source=" + source						+ ", lineNo=" + lineNo );		if ( expr == null )		{			if ( logger.isLoggable( Level.FINER ) )				logger.exiting( ScriptEvalUtil.class.getName( ),						"evalExpr",						null );			return null;		}		else if ( expr instanceof IConditionalExpression)		{			ConditionalExpression ConditionalExpr = (ConditionalExpression) expr;			Object expression = evalExpr( ConditionalExpr.getExpression( ), cx, scope, source, lineNo );			Object Op1 = evalExpr( constructValidScriptExpression ( ConditionalExpr.getOperand1() ), cx, scope, source, lineNo );			Object Op2 = evalExpr( constructValidScriptExpression ( ConditionalExpr.getOperand2() ), cx, scope, source, lineNo );			if ( logger.isLoggable( Level.FINER ) )				logger.exiting( ScriptEvalUtil.class.getName( ),						"evalExpr",						evalConditionalExpr( expression,								ConditionalExpr.getOperator( ),								Op1,								Op2 ) );			return evalConditionalExpr( expression, ConditionalExpr.getOperator( ), Op1, Op2 );		}		else		{			IScriptExpression jsExpr = (IScriptExpression) expr;			if ( logger.isLoggable( Level.FINER ) )				logger.exiting( ScriptEvalUtil.class.getName( ),						"evalExpr",						evaluateJSExpr( cx,								scope,								jsExpr.getText( ),								source,								lineNo ) );			return evaluateJSExpr( cx, scope, jsExpr.getText(), source, lineNo );		}	}