return ScriptEvalUtil.evaluateJSAsExpr( context, scope, expr.toString( ),"ROM Expression", 0);
try { return DataTypeUtil.convert(ScriptEvalUtil.evaluateJSAsExpr( context, scope, expr.toString( ),"ROM Expression", 0),this.dataType); } catch (BirtException e) { throw DataException.wrap(e); }
	public Object evaluate(Context context, Scriptable scope) throws DataException	{		// This method should not normally be called.				// Assume the JS "row" variable has been correctly set up in scope. 		// Evaluate the expression row[index] or row["name"]		StringBuffer expr = new StringBuffer( this.rowIndicator+"[");		if ( isIndexed() )		{			expr.append(m_columnIndex);		}		else		{			expr.append('"');			expr.append( JavascriptEvalUtil.transformToJsConstants( m_columnName ) );			expr.append('"');		}		expr.append(']');		return ScriptEvalUtil.evaluateJSAsExpr( context, scope, 					expr.toString( ),"ROM Expression", 0);	}