Imported Upstream version 4.0.0~alpha1

Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
Jo Shields
2015-04-07 09:35:12 +01:00
parent 283343f570
commit 3c1f479b9d
22469 changed files with 2931443 additions and 869343 deletions

View File

@ -0,0 +1,31 @@
using System.Linq.Expressions;
namespace System.Web.Util {
internal sealed class OrderingMethodFinder : ExpressionVisitor {
private bool isTopLevelMethodCall = true;
private bool OrderingMethodFound {
get;
set;
}
protected override Expression VisitMethodCall(MethodCallExpression node) {
if (isTopLevelMethodCall && QueryableUtility.IsOrderingMethod(node)) {
OrderingMethodFound = true;
}
isTopLevelMethodCall = false;
Expression result = base.VisitMethodCall(node);
isTopLevelMethodCall = true;
return result;
}
internal static bool OrderMethodExists(Expression expression) {
OrderingMethodFinder obj = new OrderingMethodFinder();
obj.OrderingMethodFound = false;
obj.Visit(expression);
return obj.OrderingMethodFound;
}
}
}