public virtual Net.Vpc.Upa.Expressions.Expression ParseExpression(Net.Vpc.Upa.Expressions.Expression expression) { if (expression is Net.Vpc.Upa.Expressions.UserExpression) { Net.Vpc.Upa.Expressions.UserExpression ucce = (Net.Vpc.Upa.Expressions.UserExpression)expression; Net.Vpc.Upa.Expressions.Expression expr = ParseExpression(ucce.GetExpression()); expr.Visit(new Net.Vpc.Upa.Impl.Uql.Util.UserExpressionParametersMatcherVisitor(ucce)); return(expr); } else { Net.Vpc.Upa.Impl.Uql.Util.UserExpressionParserVisitor v = new Net.Vpc.Upa.Impl.Uql.Util.UserExpressionParserVisitor(this); expression.Visit(v); return(expression); } }
public virtual bool Visit(Net.Vpc.Upa.Expressions.Expression expression, Net.Vpc.Upa.Expressions.ExpressionTag tag) { foreach (Net.Vpc.Upa.Expressions.TaggedExpression cc in expression.GetChildren()) { Net.Vpc.Upa.Expressions.Expression cce = cc.GetExpression(); if (cce != null) { if (cce is Net.Vpc.Upa.Expressions.UserExpression) { Net.Vpc.Upa.Expressions.UserExpression ucce = (Net.Vpc.Upa.Expressions.UserExpression)cce; Net.Vpc.Upa.Expressions.Expression expr = expressionManager.ParseExpression(ucce.GetExpression()); expr.Visit(new Net.Vpc.Upa.Impl.Uql.Util.UserExpressionParametersMatcherVisitor(ucce)); expression.SetChild(expr, cc.GetTag()); } } } return(true); }
public virtual Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression TranslateExpression(object o, Net.Vpc.Upa.Impl.Uql.ExpressionTranslationManager manager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) { Net.Vpc.Upa.Expressions.UserExpression v = (Net.Vpc.Upa.Expressions.UserExpression)o; if (v == null) { return(null); } Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression compiledExpression = manager.TranslateAny(manager.GetExpressionManager().ParseExpression(v), declarations); System.Collections.Generic.IList <Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledParam> cvalues = compiledExpression.FindExpressionsList <T>(Net.Vpc.Upa.Impl.Uql.Compiledfilters.CompiledExpressionHelper.PARAM_FILTER); foreach (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledParam e in cvalues) { if (v.ContainsParameter(e.GetName())) { e.SetValue(v.GetParameter(e.GetName())); e.SetUnspecified(false); } } return(compiledExpression); }
public UserExpressionParametersMatcherVisitor(Net.Vpc.Upa.Expressions.UserExpression expression) { this.expression = expression; }
public override Net.Vpc.Upa.Expressions.Expression Copy() { Net.Vpc.Upa.Expressions.UserExpression o = new Net.Vpc.Upa.Expressions.UserExpression(expression); return(o); }