Exemplo n.º 1
0
 internal static void EnsureSuccess(this HttpResponseMessage response)
 {
     JsonTrace.WriteResponse(response);
     if (!response.IsSuccessStatusCode)
     {
         throw new JiraException(response);
     }
 }
Exemplo n.º 2
0
            public override Expression Visit(Expression expression)
            {
                if (expression == null)
                {
                    return(null);
                }

                JsonTrace.WriteLine("SubtreeEvaluator.Visit " + expression.ToString());

                if (this.candidates.Contains(expression))
                {
                    if (expression.NodeType == ExpressionType.Constant)
                    {
                        return(expression);
                    }
                    LambdaExpression     lambda = Expression.Lambda(expression);
                    MethodCallExpression methodCallExpression = lambda.Body as MethodCallExpression;
                    if (methodCallExpression != null)
                    {
                        IEnumerable <JqlFunctionAttribute> attrs = (IEnumerable <JqlFunctionAttribute>)methodCallExpression.Method.GetCustomAttributes(typeof(JqlFunctionAttribute));
                        if (attrs != null && attrs.Count() > 0)
                        {
                            JqlFunctionAttribute attr = attrs.First();
                            return(base.Visit(expression));
                        }
                    }
                    try
                    {
                        Delegate   fn  = lambda.Compile();
                        Expression exp = Expression.Constant(fn.DynamicInvoke(null), expression.Type);
                        JsonTrace.WriteLine("SubtreeEvaluator.Compile: " + expression + " to " + exp);
                        return(exp);
                    }
                    catch (NotSupportedException)
                    { }
                }
                return(base.Visit(expression));
            }
Exemplo n.º 3
0
 public override Expression Visit(Expression expression)
 {
     if (expression != null)
     {
         bool saveCannotBeEvaluated = this.cannotBeEvaluated;
         this.cannotBeEvaluated = false;
         base.Visit(expression);
         JsonTrace.WriteLine("Nominator.Visit " + expression.ToString());
         if (!this.cannotBeEvaluated)
         {
             if (expression.NodeType != ExpressionType.Parameter)
             {
                 JsonTrace.WriteLine("Nominator.Add (" + expression.NodeType + ") " + expression.ToString());
                 this.candidates.Add(expression);
             }
             else
             {
                 this.cannotBeEvaluated = true;
             }
         }
         this.cannotBeEvaluated |= saveCannotBeEvaluated;
     }
     return(expression);
 }