Exemplo n.º 1
0
        public Expression VisitZenStringContainmentExpr(ZenStringContainmentExpr expression, ExpressionConverterEnvironment parameter)
        {
            return(LookupOrCompute(expression, () =>
            {
                var l = expression.StringExpr.Accept(this, parameter);
                var r = expression.SubstringExpr.Accept(this, parameter);

                switch (expression.ContainmentType)
                {
                case ContainmentType.PrefixOf:
                    return Expression.Call(l, prefixOfMethod, new Expression[] { r });

                case ContainmentType.SuffixOf:
                    return Expression.Call(l, suffixOfMethod, new Expression[] { r });

                default:
                    return Expression.Call(l, containsMethod, new Expression[] { r });
                }
            }));
        }
Exemplo n.º 2
0
 public ImmutableHashSet <object> VisitZenStringContainmentExpr(ZenStringContainmentExpr expression, Unit parameter)
 {
     throw new ZenException($"Invalid string type used with Decision Diagram backend.");
 }