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); }