示例#1
0
 public virtual Net.Vpc.Upa.Expressions.Expression ParseExpression(string expression)
 {
     try {
         return(parser.Parse(new System.IO.StringReader(expression)));
     } catch (Net.Vpc.Upa.Impl.Uql.Parser.Syntax.ParseException e) {
         log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Unable to parse Expression : " + expression, e));
         throw e;
     }
 }
示例#2
0
 public virtual Net.Vpc.Upa.Expressions.Expression EvalString(string expression, object context)
 {
     if (expression == null)
     {
         return(null);
     }
     if ((expression).Length == 0)
     {
         return(new Net.Vpc.Upa.Expressions.Literal(""));
     }
     if (IsVarName(expression))
     {
         return(GetRegistry().GetTypeEvaluator(typeof(Net.Vpc.Upa.Expressions.Var)).EvalObject(new Net.Vpc.Upa.Expressions.Var(expression), this, context));
     }
     Net.Vpc.Upa.QLExpressionParser     parser  = Net.Vpc.Upa.UPA.GetBootstrapFactory().CreateObject <Net.Vpc.Upa.QLExpressionParser>(typeof(Net.Vpc.Upa.QLExpressionParser));
     Net.Vpc.Upa.Expressions.Expression exprObj = parser.Parse(expression);
     return(EvalObject(exprObj, context));
 }