protected override Expression VisitTypeIs(TypeBinaryExpression expression)
        {
            SPModelQueryExpressionScope currentScope = stack.Peek();

            try {
                SPModelDescriptor descriptor = SPModelDescriptor.Resolve(expression.TypeOperand);
                currentScope.Expression = descriptor.GetContentTypeExpression(manager.Descriptor);
            } catch (ArgumentException) {
                currentScope.Expression = Caml.False;
            }
            return(expression);
        }
예제 #2
0
 protected override Expression VisitTypeIs(TypeBinaryExpression expression)
 {
     if (invariantExpression || builder.SelectExpression != null)
     {
         return(base.VisitTypeIs(expression));
     }
     try {
         SPModelDescriptor descriptor = SPModelDescriptor.Resolve(expression.TypeOperand);
         currentScope.Expression = descriptor.GetContentTypeExpression(manager.Descriptor);
     } catch (ArgumentException) {
         currentScope.Expression = Caml.False;
     }
     return(expression);
 }