@@ -20,7 +20,7 @@ public abstract class ProviderVisitor<TResult> where TResult : Provider
2020 /// </summary>
2121 /// <param name="cp">The <see cref="CompilableProvider"/> to visit.</param>
2222 /// <returns>Visit result.</returns>
23- protected virtual CompilableProvider Visit ( CompilableProvider cp ) =>
23+ protected virtual TResult Visit ( CompilableProvider cp ) =>
2424 cp == null
2525 ? null
2626 : cp . Type switch {
@@ -60,177 +60,177 @@ protected virtual CompilableProvider Visit(CompilableProvider cp) =>
6060 /// Visits <see cref="PredicateJoinProvider"/>.
6161 /// </summary>
6262 /// <param name="provider">Predicate join provider.</param>
63- protected abstract CompilableProvider VisitPredicateJoin ( PredicateJoinProvider provider ) ;
63+ protected abstract TResult VisitPredicateJoin ( PredicateJoinProvider provider ) ;
6464
6565 /// <summary>
6666 /// Visits <see cref="ExistenceProvider"/>.
6767 /// </summary>
6868 /// <param name="provider">Existence provider.</param>
69- protected abstract CompilableProvider VisitExistence ( ExistenceProvider provider ) ;
69+ protected abstract TResult VisitExistence ( ExistenceProvider provider ) ;
7070
7171 /// <summary>
7272 /// Visits <see cref="ApplyProvider"/>.
7373 /// </summary>
7474 /// <param name="provider">Apply provider.</param>
75- protected abstract CompilableProvider VisitApply ( ApplyProvider provider ) ;
75+ protected abstract TResult VisitApply ( ApplyProvider provider ) ;
7676
7777 /// <summary>
7878 /// Visits <see cref="RowNumberProvider"/>.
7979 /// </summary>
8080 /// <param name="provider">Row number provider.</param>
81- protected abstract CompilableProvider VisitRowNumber ( RowNumberProvider provider ) ;
81+ protected abstract TResult VisitRowNumber ( RowNumberProvider provider ) ;
8282
8383 /// <summary>
8484 /// Visits <see cref="TakeProvider"/>.
8585 /// </summary>
8686 /// <param name="provider">Take provider.</param>
87- protected abstract CompilableProvider VisitTake ( TakeProvider provider ) ;
87+ protected abstract TResult VisitTake ( TakeProvider provider ) ;
8888
8989 /// <summary>
9090 /// Visits <see cref="SkipProvider"/>.
9191 /// </summary>
9292 /// <param name="provider">Skip provider.</param>
93- protected abstract CompilableProvider VisitSkip ( SkipProvider provider ) ;
93+ protected abstract TResult VisitSkip ( SkipProvider provider ) ;
9494
9595 /// <summary>
9696 /// Visits <see cref="PagingProvider"/>.
9797 /// </summary>
9898 /// <param name="provider">Paging provider.</param>
99- protected abstract CompilableProvider VisitPaging ( PagingProvider provider ) ;
99+ protected abstract TResult VisitPaging ( PagingProvider provider ) ;
100100
101101 /// <summary>
102102 /// Visits <see cref="SelectProvider"/>.
103103 /// </summary>
104104 /// <param name="provider">Select provider.</param>
105- protected abstract CompilableProvider VisitSelect ( SelectProvider provider ) ;
105+ protected abstract TResult VisitSelect ( SelectProvider provider ) ;
106106
107107 /// <summary>
108108 /// Visits <see cref="TagProvider"/>.
109109 /// </summary>
110110 /// <param name="provider">Tag provider.</param>
111- protected abstract CompilableProvider VisitTag ( TagProvider provider ) ;
111+ protected abstract TResult VisitTag ( TagProvider provider ) ;
112112
113113 /// <summary>
114114 /// Visits <see cref="SeekProvider"/>.
115115 /// </summary>
116116 /// <param name="provider">Seek provider.</param>
117- protected abstract CompilableProvider VisitSeek ( SeekProvider provider ) ;
117+ protected abstract TResult VisitSeek ( SeekProvider provider ) ;
118118
119119 /// <summary>
120120 /// Visits <see cref="RawProvider"/>.
121121 /// </summary>
122122 /// <param name="provider">Raw provider.</param>
123- protected abstract CompilableProvider VisitRaw ( RawProvider provider ) ;
123+ protected abstract TResult VisitRaw ( RawProvider provider ) ;
124124
125125 /// <summary>
126126 /// Visits <see cref="SortProvider"/>.
127127 /// </summary>
128128 /// <param name="provider">Sort provider.</param>
129- protected abstract CompilableProvider VisitSort ( SortProvider provider ) ;
129+ protected abstract TResult VisitSort ( SortProvider provider ) ;
130130
131131 /// <summary>
132132 /// Visits <see cref="JoinProvider"/>.
133133 /// </summary>
134134 /// <param name="provider">Join provider.</param>
135- protected abstract CompilableProvider VisitJoin ( JoinProvider provider ) ;
135+ protected abstract TResult VisitJoin ( JoinProvider provider ) ;
136136
137137 /// <summary>
138138 /// Visits <see cref="FilterProvider"/>.
139139 /// </summary>
140140 /// <param name="provider">Filter provider.</param>
141- protected abstract CompilableProvider VisitFilter ( FilterProvider provider ) ;
141+ protected abstract TResult VisitFilter ( FilterProvider provider ) ;
142142
143143 /// <summary>
144144 /// Visits <see cref="DistinctProvider"/>.
145145 /// </summary>
146146 /// <param name="provider">Distinct provider.</param>
147- protected abstract CompilableProvider VisitDistinct ( DistinctProvider provider ) ;
147+ protected abstract TResult VisitDistinct ( DistinctProvider provider ) ;
148148
149149 /// <summary>
150150 /// Visits <see cref="CalculateProvider"/>.
151151 /// </summary>
152152 /// <param name="provider">Calculate provider.</param>
153- protected abstract CompilableProvider VisitCalculate ( CalculateProvider provider ) ;
153+ protected abstract TResult VisitCalculate ( CalculateProvider provider ) ;
154154
155155 /// <summary>
156156 /// Visits <see cref="AliasProvider"/>.
157157 /// </summary>
158158 /// <param name="provider">Alias provider.</param>
159- protected abstract CompilableProvider VisitAlias ( AliasProvider provider ) ;
159+ protected abstract TResult VisitAlias ( AliasProvider provider ) ;
160160
161161 /// <summary>
162162 /// Visits <see cref="AggregateProvider"/>.
163163 /// </summary>
164164 /// <param name="provider">Aggregate provider.</param>
165165 /// <returns></returns>
166- protected abstract CompilableProvider VisitAggregate ( AggregateProvider provider ) ;
166+ protected abstract TResult VisitAggregate ( AggregateProvider provider ) ;
167167
168168 /// <summary>
169169 /// Visits <see cref="StoreProvider"/>.
170170 /// </summary>
171171 /// <param name="provider">Store provider.</param>
172- protected abstract CompilableProvider VisitStore ( StoreProvider provider ) ;
172+ protected abstract TResult VisitStore ( StoreProvider provider ) ;
173173
174174 /// <summary>
175175 /// Visits <see cref="IndexProvider"/>.
176176 /// </summary>
177177 /// <param name="provider">Index provider.</param>
178- protected abstract CompilableProvider VisitIndex ( IndexProvider provider ) ;
178+ protected abstract TResult VisitIndex ( IndexProvider provider ) ;
179179
180180 /// <summary>
181181 /// Visits the <see cref="IntersectProvider"/>.
182182 /// </summary>
183183 /// <param name="provider">Intersect provider.</param>
184184 /// <returns></returns>
185- protected abstract CompilableProvider VisitIntersect ( IntersectProvider provider ) ;
185+ protected abstract TResult VisitIntersect ( IntersectProvider provider ) ;
186186
187187 /// <summary>
188188 /// Visits the <see cref="ExceptProvider"/>.
189189 /// </summary>
190190 /// <param name="provider">Except provider.</param>
191191 /// <returns></returns>
192- protected abstract CompilableProvider VisitExcept ( ExceptProvider provider ) ;
192+ protected abstract TResult VisitExcept ( ExceptProvider provider ) ;
193193
194194 /// <summary>
195195 /// Visits the <see cref="ConcatProvider"/>.
196196 /// </summary>
197197 /// <param name="provider">Concat provider.</param>
198198 /// <returns></returns>
199- protected abstract CompilableProvider VisitConcat ( ConcatProvider provider ) ;
199+ protected abstract TResult VisitConcat ( ConcatProvider provider ) ;
200200
201201 /// <summary>
202202 /// Visits the <see cref="UnionProvider"/>.
203203 /// </summary>
204204 /// <param name="provider">Union provider.</param>
205205 /// <returns></returns>
206- protected abstract CompilableProvider VisitUnion ( UnionProvider provider ) ;
206+ protected abstract TResult VisitUnion ( UnionProvider provider ) ;
207207
208208 /// <summary>
209209 /// Visits the <see cref="LockProvider"/>.
210210 /// </summary>
211211 /// <param name="provider">Lock provider.</param>
212212 /// <returns></returns>
213- protected abstract CompilableProvider VisitLock ( LockProvider provider ) ;
213+ protected abstract TResult VisitLock ( LockProvider provider ) ;
214214
215215 /// <summary>
216216 /// Visits the <see cref="IncludeProvider"/>.
217217 /// </summary>
218218 /// <param name="provider">Include provider.</param>
219219 /// <returns></returns>
220- protected abstract CompilableProvider VisitInclude ( IncludeProvider provider ) ;
220+ protected abstract TResult VisitInclude ( IncludeProvider provider ) ;
221221
222222 /// <summary>
223223 /// Visits the <see cref="FreeTextProvider"/>.
224224 /// </summary>
225225 /// <param name="provider">FreeText provider.</param>
226226 /// <returns></returns>
227- protected abstract CompilableProvider VisitFreeText ( FreeTextProvider provider ) ;
227+ protected abstract TResult VisitFreeText ( FreeTextProvider provider ) ;
228228
229229 /// <summary>
230230 /// Visits the <see cref="ContainsTableProvider"/>.
231231 /// </summary>
232232 /// <param name="provider">SearchCondition provider.</param>
233233 /// <returns></returns>
234- protected abstract CompilableProvider VisitContainsTable ( ContainsTableProvider provider ) ;
234+ protected abstract TResult VisitContainsTable ( ContainsTableProvider provider ) ;
235235 }
236236}
0 commit comments