-
-
Save jods4/6b145327f3c7563836c357984b723caf to your computer and use it in GitHub Desktop.
Generated source for ExpressionBuilder
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// <auto-generated /> | |
#nullable enable | |
using LinqToDB.Expressions; | |
using System.Diagnostics.CodeAnalysis; | |
using System.Linq.Expressions; | |
namespace LinqToDB.Linq.Builder; | |
partial class ExpressionBuilder | |
{ | |
private static class Builder<T> where T: ISequenceBuilder, new() | |
{ | |
public static T Instance = new(); | |
} | |
private static partial ISequenceBuilder? FindBuilderImpl(BuildInfo info, ExpressionBuilder builder) | |
{ | |
var expr = info.Expression = info.Expression.Unwrap(); | |
switch (expr.NodeType) | |
{ | |
case ChangeTypeExpression.ChangeTypeType: | |
if (ChangeTypeExpressionBuilder.CanBuild(expr, info, builder)) | |
return Builder<ChangeTypeExpressionBuilder>.Instance; | |
break; | |
case ExpressionType.Constant: | |
if (EnumerableBuilder.CanBuild(expr, info, builder)) | |
return Builder<EnumerableBuilder>.Instance; | |
if (TableBuilder.CanBuild(expr, info, builder)) | |
return Builder<TableBuilder>.Instance; | |
break; | |
case ExpressionType.MemberAccess: | |
if (EnumerableBuilder.CanBuild(expr, info, builder)) | |
return Builder<EnumerableBuilder>.Instance; | |
if (TableBuilder.CanBuild(expr, info, builder)) | |
return Builder<TableBuilder>.Instance; | |
break; | |
case ExpressionType.NewArrayInit: | |
if (EnumerableBuilder.CanBuild(expr, info, builder)) | |
return Builder<EnumerableBuilder>.Instance; | |
break; | |
case ExpressionType.Lambda: | |
if (ScalarSelectBuilder.CanBuild(expr, info, builder)) | |
return Builder<ScalarSelectBuilder>.Instance; | |
break; | |
case ExpressionType.Call: | |
var call = (MethodCallExpression)expr; | |
switch (call.Method.Name) | |
{ | |
case "Alias": | |
if (PassThroughBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<PassThroughBuilder>.Instance; | |
break; | |
case "All": | |
if (AllAnyBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllAnyBuilder>.Instance; | |
break; | |
case "AllAsync": | |
if (AllAnyBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<AllAnyBuilder>.Instance; | |
break; | |
case "Any": | |
if (AllAnyBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllAnyBuilder>.Instance; | |
break; | |
case "AnyAsync": | |
if (AllAnyBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<AllAnyBuilder>.Instance; | |
break; | |
case "AsQueryable": | |
if (PassThroughBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<PassThroughBuilder>.Instance; | |
break; | |
case "AsSubQuery": | |
if (AsSubQueryBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AsSubQueryBuilder>.Instance; | |
break; | |
case "AsUpdatable": | |
if (AsUpdatableBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AsUpdatableBuilder>.Instance; | |
break; | |
case "AsValueInsertable": | |
if (AsValueInsertableBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AsValueInsertableBuilder>.Instance; | |
break; | |
case "Average": | |
if (AggregationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "AverageAsync": | |
if (AggregationBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "Cast": | |
if (CastBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<CastBuilder>.Instance; | |
break; | |
case "Concat": | |
if (SetOperationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SetOperationBuilder>.Instance; | |
break; | |
case "Contains": | |
if (ContainsBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<ContainsBuilder>.Instance; | |
break; | |
case "ContainsAsync": | |
if (ContainsBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<ContainsBuilder>.Instance; | |
break; | |
case "Count": | |
if (AggregationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "CountAsync": | |
if (AggregationBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "CrossJoin": | |
if (AllJoinsLinqBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsLinqBuilder>.Instance; | |
break; | |
case "DatabaseName": | |
if (TableAttributeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TableAttributeBuilder>.Instance; | |
break; | |
case "DefaultIfEmpty": | |
if (DefaultIfEmptyBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<DefaultIfEmptyBuilder>.Instance; | |
break; | |
case "Delete": | |
if (DeleteBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<DeleteBuilder>.Instance; | |
break; | |
case "DeleteWhenMatchedAnd": | |
if (MergeBuilder.DeleteWhenMatched.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.DeleteWhenMatched>.Instance; | |
break; | |
case "DeleteWhenNotMatchedBySourceAnd": | |
if (MergeBuilder.DeleteWhenNotMatchedBySource.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.DeleteWhenNotMatchedBySource>.Instance; | |
break; | |
case "DeleteWithOutput": | |
if (DeleteBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<DeleteBuilder>.Instance; | |
break; | |
case "DeleteWithOutputInto": | |
if (DeleteBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<DeleteBuilder>.Instance; | |
break; | |
case "DisableGuard": | |
if (DisableGroupingGuardBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<DisableGroupingGuardBuilder>.Instance; | |
break; | |
case "Distinct": | |
if (DistinctBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<DistinctBuilder>.Instance; | |
break; | |
case "Drop": | |
if (DropBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<DropBuilder>.Instance; | |
break; | |
case "Else": | |
if (MultiInsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MultiInsertBuilder>.Instance; | |
break; | |
case "Except": | |
if (SetOperationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SetOperationBuilder>.Instance; | |
break; | |
case "ExceptAll": | |
if (SetOperationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SetOperationBuilder>.Instance; | |
break; | |
case "First": | |
if (FirstSingleBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<FirstSingleBuilder>.Instance; | |
break; | |
case "FirstAsync": | |
if (FirstSingleBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<FirstSingleBuilder>.Instance; | |
break; | |
case "FirstOrDefault": | |
if (FirstSingleBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<FirstSingleBuilder>.Instance; | |
break; | |
case "FirstOrDefaultAsync": | |
if (FirstSingleBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<FirstSingleBuilder>.Instance; | |
break; | |
case "FullJoin": | |
if (AllJoinsBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsBuilder>.Instance; | |
if (AllJoinsLinqBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsLinqBuilder>.Instance; | |
break; | |
case "GetContext": | |
if (ContextParser.CanBuildMethod(call, info, builder)) | |
return Builder<ContextParser>.Instance; | |
break; | |
case "GroupBy": | |
if (GroupByBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<GroupByBuilder>.Instance; | |
break; | |
case "GroupJoin": | |
if (GroupJoinBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<GroupJoinBuilder>.Instance; | |
break; | |
case "HasUniqueKey": | |
if (HasUniqueKeyBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<HasUniqueKeyBuilder>.Instance; | |
break; | |
case "Having": | |
if (WhereBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<WhereBuilder>.Instance; | |
break; | |
case "IgnoreFilters": | |
if (IgnoreFiltersBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<IgnoreFiltersBuilder>.Instance; | |
break; | |
case "InlineParameters": | |
if (InlineParametersBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<InlineParametersBuilder>.Instance; | |
break; | |
case "InnerJoin": | |
if (AllJoinsBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsBuilder>.Instance; | |
if (AllJoinsLinqBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsLinqBuilder>.Instance; | |
break; | |
case "Insert": | |
if (InsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<InsertBuilder>.Instance; | |
if (MultiInsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MultiInsertBuilder>.Instance; | |
break; | |
case "InsertAll": | |
if (MultiInsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MultiInsertBuilder>.Instance; | |
break; | |
case "InsertFirst": | |
if (MultiInsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MultiInsertBuilder>.Instance; | |
break; | |
case "InsertOrUpdate": | |
if (InsertOrUpdateBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<InsertOrUpdateBuilder>.Instance; | |
break; | |
case "InsertWhenNotMatchedAnd": | |
if (MergeBuilder.InsertWhenNotMatched.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.InsertWhenNotMatched>.Instance; | |
break; | |
case "InsertWithIdentity": | |
if (InsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<InsertBuilder>.Instance; | |
break; | |
case "InsertWithOutput": | |
if (InsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<InsertBuilder>.Instance; | |
break; | |
case "InsertWithOutputInto": | |
if (InsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<InsertBuilder>.Instance; | |
break; | |
case "Intersect": | |
if (SetOperationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SetOperationBuilder>.Instance; | |
break; | |
case "IntersectAll": | |
if (SetOperationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SetOperationBuilder>.Instance; | |
break; | |
case "Into": | |
if (InsertBuilder.Into.CanBuildMethod(call, info, builder)) | |
return Builder<InsertBuilder.Into>.Instance; | |
if (MultiInsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MultiInsertBuilder>.Instance; | |
break; | |
case "IsTemporary": | |
if (TableAttributeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TableAttributeBuilder>.Instance; | |
break; | |
case "Join": | |
if (AllJoinsBuilder.CanBuildJoin(call, info, builder)) | |
return Builder<AllJoinsBuilder>.Instance; | |
if (AllJoinsLinqBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsLinqBuilder>.Instance; | |
if (JoinBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<JoinBuilder>.Instance; | |
break; | |
case "LeftJoin": | |
if (AllJoinsBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsBuilder>.Instance; | |
if (AllJoinsLinqBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsLinqBuilder>.Instance; | |
break; | |
case "LoadWith": | |
if (LoadWithBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<LoadWithBuilder>.Instance; | |
break; | |
case "LoadWithAsTable": | |
if (LoadWithBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<LoadWithBuilder>.Instance; | |
break; | |
case "LongCount": | |
if (AggregationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "LongCountAsync": | |
if (AggregationBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "Max": | |
if (AggregationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "MaxAsync": | |
if (AggregationBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "Merge": | |
if (MergeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder>.Instance; | |
if (MergeBuilder.Merge.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.Merge>.Instance; | |
break; | |
case "MergeInto": | |
if (MergeBuilder.MergeInto.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.MergeInto>.Instance; | |
break; | |
case "MergeWithOutput": | |
if (MergeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder>.Instance; | |
break; | |
case "MergeWithOutputInto": | |
if (MergeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder>.Instance; | |
break; | |
case "Min": | |
if (AggregationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "MinAsync": | |
if (AggregationBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "MultiInsert": | |
if (MultiInsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MultiInsertBuilder>.Instance; | |
break; | |
case "OfType": | |
if (OfTypeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<OfTypeBuilder>.Instance; | |
break; | |
case "On": | |
if (MergeBuilder.On.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.On>.Instance; | |
break; | |
case "OnTargetKey": | |
if (MergeBuilder.On.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.On>.Instance; | |
break; | |
case "OrderBy": | |
if (OrderByBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<OrderByBuilder>.Instance; | |
break; | |
case "OrderByDescending": | |
if (OrderByBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<OrderByBuilder>.Instance; | |
break; | |
case "QueryName": | |
if (QueryNameBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<QueryNameBuilder>.Instance; | |
break; | |
case "RemoveOrderBy": | |
if (RemoveOrderByBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<RemoveOrderByBuilder>.Instance; | |
break; | |
case "RightJoin": | |
if (AllJoinsBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsBuilder>.Instance; | |
if (AllJoinsLinqBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AllJoinsLinqBuilder>.Instance; | |
break; | |
case "SchemaName": | |
if (TableAttributeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TableAttributeBuilder>.Instance; | |
break; | |
case "Select": | |
if (SelectBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SelectBuilder>.Instance; | |
break; | |
case "SelectDistinct": | |
if (DistinctBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<DistinctBuilder>.Instance; | |
break; | |
case "SelectMany": | |
if (SelectManyBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SelectManyBuilder>.Instance; | |
break; | |
case "SelectQuery": | |
if (SelectQueryBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SelectQueryBuilder>.Instance; | |
break; | |
case "ServerName": | |
if (TableAttributeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TableAttributeBuilder>.Instance; | |
break; | |
case "Set": | |
if (UpdateBuilder.Set.CanBuildMethod(call, info, builder)) | |
return Builder<UpdateBuilder.Set>.Instance; | |
break; | |
case "Single": | |
if (FirstSingleBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<FirstSingleBuilder>.Instance; | |
break; | |
case "SingleAsync": | |
if (FirstSingleBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<FirstSingleBuilder>.Instance; | |
break; | |
case "SingleOrDefault": | |
if (FirstSingleBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<FirstSingleBuilder>.Instance; | |
break; | |
case "SingleOrDefaultAsync": | |
if (FirstSingleBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<FirstSingleBuilder>.Instance; | |
break; | |
case "Skip": | |
if (TakeSkipBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TakeSkipBuilder>.Instance; | |
break; | |
case "Sum": | |
if (AggregationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "SumAsync": | |
if (AggregationBuilder.CanBuildAsyncMethod(call, info, builder)) | |
return Builder<AggregationBuilder>.Instance; | |
break; | |
case "TableID": | |
if (TableAttributeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TableAttributeBuilder>.Instance; | |
break; | |
case "TableName": | |
if (TableAttributeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TableAttributeBuilder>.Instance; | |
break; | |
case "TableOptions": | |
if (TableAttributeBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TableAttributeBuilder>.Instance; | |
break; | |
case "TagQuery": | |
if (TagQueryBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TagQueryBuilder>.Instance; | |
break; | |
case "Take": | |
if (TakeSkipBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TakeSkipBuilder>.Instance; | |
break; | |
case "ThenBy": | |
if (OrderByBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<OrderByBuilder>.Instance; | |
break; | |
case "ThenByDescending": | |
if (OrderByBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<OrderByBuilder>.Instance; | |
break; | |
case "ThenLoad": | |
if (LoadWithBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<LoadWithBuilder>.Instance; | |
break; | |
case "ThenOrBy": | |
if (OrderByBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<OrderByBuilder>.Instance; | |
break; | |
case "ThenOrByDescending": | |
if (OrderByBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<OrderByBuilder>.Instance; | |
break; | |
case "Truncate": | |
if (TruncateBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<TruncateBuilder>.Instance; | |
break; | |
case "Union": | |
if (SetOperationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SetOperationBuilder>.Instance; | |
break; | |
case "UnionAll": | |
if (SetOperationBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<SetOperationBuilder>.Instance; | |
break; | |
case "Update": | |
if (UpdateBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<UpdateBuilder>.Instance; | |
break; | |
case "UpdateWhenMatchedAnd": | |
if (MergeBuilder.UpdateWhenMatched.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.UpdateWhenMatched>.Instance; | |
break; | |
case "UpdateWhenMatchedAndThenDelete": | |
if (MergeBuilder.UpdateWhenMatchedThenDelete.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.UpdateWhenMatchedThenDelete>.Instance; | |
break; | |
case "UpdateWhenNotMatchedBySourceAnd": | |
if (MergeBuilder.UpdateWhenNotMatchedBySource.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.UpdateWhenNotMatchedBySource>.Instance; | |
break; | |
case "UpdateWithOutput": | |
if (UpdateBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<UpdateBuilder>.Instance; | |
break; | |
case "UpdateWithOutputInto": | |
if (UpdateBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<UpdateBuilder>.Instance; | |
break; | |
case "Using": | |
if (MergeBuilder.Using.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.Using>.Instance; | |
break; | |
case "UsingTarget": | |
if (MergeBuilder.UsingTarget.CanBuildMethod(call, info, builder)) | |
return Builder<MergeBuilder.UsingTarget>.Instance; | |
break; | |
case "Value": | |
if (InsertBuilder.Value.CanBuildMethod(call, info, builder)) | |
return Builder<InsertBuilder.Value>.Instance; | |
break; | |
case "When": | |
if (MultiInsertBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<MultiInsertBuilder>.Instance; | |
break; | |
case "Where": | |
if (WhereBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<WhereBuilder>.Instance; | |
break; | |
case "With": | |
if (WithTableExpressionBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<WithTableExpressionBuilder>.Instance; | |
break; | |
case "WithTableExpression": | |
if (WithTableExpressionBuilder.CanBuildMethod(call, info, builder)) | |
return Builder<WithTableExpressionBuilder>.Instance; | |
break; | |
} | |
if (MethodChainBuilder.CanBuild(expr, info, builder)) | |
return Builder<MethodChainBuilder>.Instance; | |
if (QueryExtensionBuilder.CanBuild(expr, info, builder)) | |
return Builder<QueryExtensionBuilder>.Instance; | |
if (TableBuilder.CanBuild(expr, info, builder)) | |
return Builder<TableBuilder>.Instance; | |
break; | |
} | |
if (ContextRefBuilder.CanBuild(info, builder)) | |
return Builder<ContextRefBuilder>.Instance; | |
return null; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment