internal static void EnsureSuccess(this HttpResponseMessage response) { JsonTrace.WriteResponse(response); if (!response.IsSuccessStatusCode) { throw new JiraException(response); } }
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)); }
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); }