File: DbExpressionVisitor.cs

package info (click to toggle)
mono 6.14.1%2Bds2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,282,732 kB
  • sloc: cs: 11,182,461; xml: 2,850,281; ansic: 699,123; cpp: 122,919; perl: 58,604; javascript: 30,841; asm: 21,845; makefile: 19,602; sh: 10,973; python: 4,772; pascal: 925; sql: 859; sed: 16; php: 1
file content (290 lines) | stat: -rw-r--r-- 12,648 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
//---------------------------------------------------------------------
// <copyright file="DbExpressionVisitor.cs" company="Microsoft">
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//
// @owner  Microsoft
// @backupOwner Microsoft
//---------------------------------------------------------------------

using System.Collections.Generic;
using System.Data.Metadata.Edm;

namespace System.Data.Common.CommandTrees
{
    /// <summary>
    /// The expression visitor pattern abstract base class that should be implemented by visitors that do not return a result value.
    /// </summary>
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
    public abstract class DbExpressionVisitor
    {
        /// <summary>
        /// Called when an expression of an otherwise unrecognized type is encountered.
        /// </summary>
        /// <param name="expression">The expression</param>
        public abstract void Visit(DbExpression expression);

        /// <summary>
        /// Visitor pattern method for DbAndExpression.
        /// </summary>
        /// <param name="expression">The DbAndExpression that is being visited.</param>
        public abstract void Visit(DbAndExpression expression);

        /// <summary>
        /// Visitor pattern method for DbApplyExpression.
        /// </summary>
        /// <param name="expression">The DbApplyExpression that is being visited.</param>
        public abstract void Visit(DbApplyExpression expression);

        /// <summary>
        /// Visitor pattern method for DbArithmeticExpression.
        /// </summary>
        /// <param name="expression">The DbArithmeticExpression that is being visited.</param>
        public abstract void Visit(DbArithmeticExpression expression);

        /// <summary>
        /// Visitor pattern method for DbCaseExpression.
        /// </summary>
        /// <param name="expression">The DbCaseExpression that is being visited.</param>
        public abstract void Visit(DbCaseExpression expression);

        /// <summary>
        /// Visitor pattern method for DbCastExpression.
        /// </summary>
        /// <param name="expression">The DbCastExpression that is being visited.</param>
        public abstract void Visit(DbCastExpression expression);

        /// <summary>
        /// Visitor pattern method for DbComparisonExpression.
        /// </summary>
        /// <param name="expression">The DbComparisonExpression that is being visited.</param>
        public abstract void Visit(DbComparisonExpression expression);
        
        /// <summary>
        /// Visitor pattern method for DbConstantExpression.
        /// </summary>
        /// <param name="expression">The DbConstantExpression that is being visited.</param>
        public abstract void Visit(DbConstantExpression expression);

        /// <summary>
        /// Visitor pattern method for DbCrossJoinExpression.
        /// </summary>
        /// <param name="expression">The DbCrossJoinExpression that is being visited.</param>
        public abstract void Visit(DbCrossJoinExpression expression);

        /// <summary>
        /// Visitor pattern method for DbDerefExpression.
        /// </summary>
        /// <param name="expression">The DbDerefExpression that is being visited.</param>
        public abstract void Visit(DbDerefExpression expression);

        /// <summary>
        /// Visitor pattern method for DbDistinctExpression.
        /// </summary>
        /// <param name="expression">The DbDistinctExpression that is being visited.</param>
        public abstract void Visit(DbDistinctExpression expression);

        /// <summary>
        /// Visitor pattern method for DbElementExpression.
        /// </summary>
        /// <param name="expression">The DbElementExpression that is being visited.</param>
        public abstract void Visit(DbElementExpression expression);

        /// <summary>
        /// Visitor pattern method for DbExceptExpression.
        /// </summary>
        /// <param name="expression">The DbExceptExpression that is being visited.</param>
        public abstract void Visit(DbExceptExpression expression);

        /// <summary>
        /// Visitor pattern method for DbFilterExpression.
        /// </summary>
        /// <param name="expression">The DbFilterExpression that is being visited.</param>
        public abstract void Visit(DbFilterExpression expression);

        /// <summary>
        /// Visitor pattern method for DbFunctionExpression
        /// </summary>
        /// <param name="expression">The DbFunctionExpression that is being visited.</param>
        public abstract void Visit(DbFunctionExpression expression);

        /// <summary>
        /// Visitor pattern method for DbEntityRefExpression.
        /// </summary>
        /// <param name="expression">The DbEntityRefExpression that is being visited.</param>
        public abstract void Visit(DbEntityRefExpression expression);

        /// <summary>
        /// Visitor pattern method for DbRefKeyExpression.
        /// </summary>
        /// <param name="expression">The DbRefKeyExpression that is being visited.</param>
        public abstract void Visit(DbRefKeyExpression expression);

        /// <summary>
        /// Visitor pattern method for DbGroupByExpression.
        /// </summary>
        /// <param name="expression">The DbGroupByExpression that is being visited.</param>
        public abstract void Visit(DbGroupByExpression expression);

        /// <summary>
        /// Visitor pattern method for DbIntersectExpression.
        /// </summary>
        /// <param name="expression">The DbIntersectExpression that is being visited.</param>
        public abstract void Visit(DbIntersectExpression expression);

        /// <summary>
        /// Visitor pattern method for DbIsEmptyExpression.
        /// </summary>
        /// <param name="expression">The DbIsEmptyExpression that is being visited.</param>
        public abstract void Visit(DbIsEmptyExpression expression);

        /// <summary>
        /// Visitor pattern method for DbIsNullExpression.
        /// </summary>
        /// <param name="expression">The DbIsNullExpression that is being visited.</param>
        public abstract void Visit(DbIsNullExpression expression);
        
        /// <summary>
        /// Visitor pattern method for DbIsOfExpression.
        /// </summary>
        /// <param name="expression">The DbIsOfExpression that is being visited.</param>
        public abstract void Visit(DbIsOfExpression expression);
        
        /// <summary>
        /// Visitor pattern method for DbJoinExpression.
        /// </summary>
        /// <param name="expression">The DbJoinExpression that is being visited.</param>
        public abstract void Visit(DbJoinExpression expression);

        /// <summary>
        /// Visitor pattern method for DbLambdaExpression.
        /// </summary>
        /// <param name="expression">The DbLambdaExpression that is being visited.</param>
        public virtual void Visit(DbLambdaExpression expression)
        {
            throw EntityUtil.NotSupported();
        }

        /// <summary>
        /// Visitor pattern method for DbLikeExpression.
        /// </summary>
        /// <param name="expression">The DbLikeExpression that is being visited.</param>
        public abstract void Visit(DbLikeExpression expression);

        /// <summary>
        /// Visitor pattern method for DbLimitExpression.
        /// </summary>
        /// <param name="expression">The DbLimitExpression that is being visited.</param>
        public abstract void Visit(DbLimitExpression expression);

#if METHOD_EXPRESSION
        /// <summary>
        /// Visitor pattern method for MethodExpression.
        /// </summary>
        /// <param name="expression">The MethodExpression that is being visited.</param>
        public abstract void Visit(MethodExpression expression);
#endif

        /// <summary>
        /// Visitor pattern method for DbNewInstanceExpression.
        /// </summary>
        /// <param name="expression">The DbNewInstanceExpression that is being visited.</param>
        public abstract void Visit(DbNewInstanceExpression expression);

        /// <summary>
        /// Visitor pattern method for DbNotExpression.
        /// </summary>
        /// <param name="expression">The DbNotExpression that is being visited.</param>
        public abstract void Visit(DbNotExpression expression);

        /// <summary>
        /// Visitor pattern method for DbNullExpression.
        /// </summary>
        /// <param name="expression">The DbNullExpression that is being visited.</param>
        public abstract void Visit(DbNullExpression expression);

        /// <summary>
        /// Visitor pattern method for DbOfTypeExpression.
        /// </summary>
        /// <param name="expression">The DbOfTypeExpression that is being visited.</param>
        public abstract void Visit(DbOfTypeExpression expression);

        /// <summary>
        /// Visitor pattern method for DbOrExpression.
        /// </summary>
        /// <param name="expression">The DbOrExpression that is being visited.</param>
        public abstract void Visit(DbOrExpression expression);

        /// <summary>
        /// Visitor pattern method for DbParameterReferenceExpression.
        /// </summary>
        /// <param name="expression">The DbParameterReferenceExpression that is being visited.</param>
        public abstract void Visit(DbParameterReferenceExpression expression);
        
        /// <summary>
        /// Visitor pattern method for DbProjectExpression.
        /// </summary>
        /// <param name="expression">The DbProjectExpression that is being visited.</param>
        public abstract void Visit(DbProjectExpression expression);

        /// <summary>
        /// Visitor pattern method for DbPropertyExpression.
        /// </summary>
        /// <param name="expression">The DbPropertyExpression that is being visited.</param>
        public abstract void Visit(DbPropertyExpression expression);

        /// <summary>
        /// Visitor pattern method for DbQuantifierExpression.
        /// </summary>
        /// <param name="expression">The DbQuantifierExpression that is being visited.</param>
        public abstract void Visit(DbQuantifierExpression expression);

        /// <summary>
        /// Visitor pattern method for DbRefExpression.
        /// </summary>
        /// <param name="expression">The DbRefExpression that is being visited.</param>
        public abstract void Visit(DbRefExpression expression);

        /// <summary>
        /// Visitor pattern method for DbRelationshipNavigationExpression.
        /// </summary>
        /// <param name="expression">The DbRelationshipNavigationExpression that is being visited.</param>
        public abstract void Visit(DbRelationshipNavigationExpression expression);

        /// <summary>
        /// Visitor pattern method for DbScanExpression.
        /// </summary>
        /// <param name="expression">The DbScanExpression that is being visited.</param>
        public abstract void Visit(DbScanExpression expression);

        /// <summary>
        /// Visitor pattern method for DbSkipExpression.
        /// </summary>
        /// <param name="expression">The DbSkipExpression that is being visited.</param>
        public abstract void Visit(DbSkipExpression expression);

        /// <summary>
        /// Visitor pattern method for DbSortExpression.
        /// </summary>
        /// <param name="expression">The DbSortExpression that is being visited.</param>
        public abstract void Visit(DbSortExpression expression);

        /// <summary>
        /// Visitor pattern method for DbTreatExpression.
        /// </summary>
        /// <param name="expression">The DbTreatExpression that is being visited.</param>
        public abstract void Visit(DbTreatExpression expression);
        
        /// <summary>
        /// Visitor pattern method for DbUnionAllExpression.
        /// </summary>
        /// <param name="expression">The DbUnionAllExpression that is being visited.</param>
        public abstract void Visit(DbUnionAllExpression expression);
        
        /// <summary>
        /// Visitor pattern method for DbVariableReferenceExpression.
        /// </summary>
        /// <param name="expression">The DbVariableReferenceExpression that is being visited.</param>
        public abstract void Visit(DbVariableReferenceExpression expression);
    }
}