@@ -56,33 +56,6 @@ public string PrettyPrint(Expression node)
56
56
}
57
57
58
58
// protected methods
59
- /// <summary>
60
- /// Visits an ElementInit node.
61
- /// </summary>
62
- /// <param name="node">The ElementInit node.</param>
63
- /// <returns>The ElementInit node.</returns>
64
- protected override ElementInit VisitElementInit ( ElementInit node )
65
- {
66
- throw new NotImplementedException ( ) ;
67
- }
68
-
69
- /// <summary>
70
- /// Visits a UnaryExpression.
71
- /// </summary>
72
- /// <param name="node">The UnaryExpression.</param>
73
- /// <returns>The UnaryExpression.</returns>
74
- protected override Expression VisitUnary ( UnaryExpression node )
75
- {
76
- WriteHeader ( node ) ;
77
- using ( new Indentation ( this ) )
78
- {
79
- WriteLine ( "Method={0}" , node . Method == null ? "null" : node . Method . Name ) ;
80
- WriteLine ( "Operand:" ) ;
81
- VisitIndented ( node . Operand ) ;
82
- }
83
- return node ;
84
- }
85
-
86
59
/// <summary>
87
60
/// Visits a BinaryExpression.
88
61
/// </summary>
@@ -103,11 +76,11 @@ protected override Expression VisitBinary(BinaryExpression node)
103
76
}
104
77
105
78
/// <summary>
106
- /// Visits a TypeBinaryExpression .
79
+ /// Visits a ConditionalExpression .
107
80
/// </summary>
108
- /// <param name="node">The TypeBinaryExpression .</param>
109
- /// <returns>The TypeBinaryExpression .</returns>
110
- protected override Expression VisitTypeBinary ( TypeBinaryExpression node )
81
+ /// <param name="node">The ConditionalExpression .</param>
82
+ /// <returns>The ConditionalExpression .</returns>
83
+ protected override Expression VisitConditional ( ConditionalExpression node )
111
84
{
112
85
throw new NotImplementedException ( ) ;
113
86
}
@@ -128,31 +101,67 @@ protected override Expression VisitConstant(ConstantExpression node)
128
101
}
129
102
130
103
/// <summary>
131
- /// Visits a ConditionalExpression .
104
+ /// Visits an ElementInit node .
132
105
/// </summary>
133
- /// <param name="node">The ConditionalExpression .</param>
134
- /// <returns>The ConditionalExpression .</returns>
135
- protected override Expression VisitConditional ( ConditionalExpression node )
106
+ /// <param name="node">The ElementInit node .</param>
107
+ /// <returns>The ElementInit node .</returns>
108
+ protected override ElementInit VisitElementInit ( ElementInit node )
136
109
{
137
110
throw new NotImplementedException ( ) ;
138
111
}
139
112
140
113
/// <summary>
141
- /// Visits a ParameterExpression .
114
+ /// Visits an ElementInit list .
142
115
/// </summary>
143
- /// <param name="node">The ParameterExpression.</param>
144
- /// <returns>The ParameterExpression.</returns>
145
- protected override Expression VisitParameter ( ParameterExpression node )
116
+ /// <param name="nodes">The ElementInit list.</param>
117
+ /// <returns>The ElementInit list.</returns>
118
+ protected override IEnumerable < ElementInit > VisitElementInitList (
119
+ ReadOnlyCollection < ElementInit > nodes )
120
+ {
121
+ throw new NotImplementedException ( ) ;
122
+ }
123
+
124
+ /// <summary>
125
+ /// Visits an InvocationExpression.
126
+ /// </summary>
127
+ /// <param name="node">The InvocationExpression.</param>
128
+ /// <returns>The InvocationExpression.</returns>
129
+ protected override Expression VisitInvocation ( InvocationExpression node )
130
+ {
131
+ throw new NotImplementedException ( ) ;
132
+ }
133
+
134
+ /// <summary>
135
+ /// Visits a LambdaExpression.
136
+ /// </summary>
137
+ /// <param name="node">The LambdaExpression.</param>
138
+ /// <returns>The LambdaExpression.</returns>
139
+ protected override Expression VisitLambda ( LambdaExpression node )
146
140
{
147
141
WriteHeader ( node ) ;
148
142
using ( new Indentation ( this ) )
149
143
{
150
- WriteLine ( "Name={0}" , node . Name ) ;
151
- WriteLine ( "Type={0}" , FriendlyClassName ( node . Type ) ) ;
144
+ WriteLine ( "Parameters:" ) ;
145
+ foreach ( var parameter in node . Parameters )
146
+ {
147
+ VisitIndented ( parameter ) ;
148
+ }
149
+ WriteLine ( "Body:" ) ;
150
+ VisitIndented ( node . Body ) ;
152
151
}
153
152
return node ;
154
153
}
155
154
155
+ /// <summary>
156
+ /// Visits a ListInitExpression.
157
+ /// </summary>
158
+ /// <param name="node">The ListInitExpression.</param>
159
+ /// <returns>The ListInitExpression.</returns>
160
+ protected override Expression VisitListInit ( ListInitExpression node )
161
+ {
162
+ throw new NotImplementedException ( ) ;
163
+ }
164
+
156
165
/// <summary>
157
166
/// Visits a MemberExpression.
158
167
/// </summary>
@@ -170,29 +179,6 @@ protected override Expression VisitMember(MemberExpression node)
170
179
return node ;
171
180
}
172
181
173
- /// <summary>
174
- /// Visits a MethodCallExpression.
175
- /// </summary>
176
- /// <param name="node">The MethodCallExpression.</param>
177
- /// <returns>The MethodCallExpression.</returns>
178
- protected override Expression VisitMethodCall ( MethodCallExpression node )
179
- {
180
- WriteHeader ( node ) ;
181
- using ( new Indentation ( this ) )
182
- {
183
- WriteLine ( "Method={0}" , node . Method . Name ) ;
184
- WriteLine ( "Arguments:" ) ;
185
- using ( new Indentation ( this ) )
186
- {
187
- foreach ( var arg in node . Arguments )
188
- {
189
- Visit ( arg ) ;
190
- }
191
- }
192
- }
193
- return node ;
194
- }
195
-
196
182
/// <summary>
197
183
/// Visits a MemberAssignment.
198
184
/// </summary>
@@ -214,63 +200,64 @@ protected override MemberBinding VisitMemberBinding(MemberBinding node)
214
200
}
215
201
216
202
/// <summary>
217
- /// Visits a MemberMemberBinding .
203
+ /// Visits a MemberBinding list .
218
204
/// </summary>
219
- /// <param name="node ">The MemberMemberBinding .</param>
220
- /// <returns>The MemberMemberBinding .</returns>
221
- protected override MemberMemberBinding VisitMemberMemberBinding ( MemberMemberBinding node )
205
+ /// <param name="nodes ">The MemberBinding list .</param>
206
+ /// <returns>The MemberBinding list .</returns>
207
+ protected override IEnumerable < MemberBinding > VisitMemberBindingList ( ReadOnlyCollection < MemberBinding > nodes )
222
208
{
223
209
throw new NotImplementedException ( ) ;
224
210
}
225
211
226
212
/// <summary>
227
- /// Visits a MemberListBinding .
213
+ /// Visits a MemberInitExpression .
228
214
/// </summary>
229
- /// <param name="node">The MemberListBinding .</param>
230
- /// <returns>The MemberListBinding .</returns>
231
- protected override MemberListBinding VisitMemberListBinding ( MemberListBinding node )
215
+ /// <param name="node">The MemberInitExpression .</param>
216
+ /// <returns>The MemberInitExpression .</returns>
217
+ protected override Expression VisitMemberInit ( MemberInitExpression node )
232
218
{
233
219
throw new NotImplementedException ( ) ;
234
220
}
235
221
236
222
/// <summary>
237
- /// Visits a MemberBinding list .
223
+ /// Visits a MemberListBinding .
238
224
/// </summary>
239
- /// <param name="nodes ">The MemberBinding list .</param>
240
- /// <returns>The MemberBinding list .</returns>
241
- protected override IEnumerable < MemberBinding > VisitMemberBindingList ( ReadOnlyCollection < MemberBinding > nodes )
225
+ /// <param name="node ">The MemberListBinding .</param>
226
+ /// <returns>The MemberListBinding .</returns>
227
+ protected override MemberListBinding VisitMemberListBinding ( MemberListBinding node )
242
228
{
243
229
throw new NotImplementedException ( ) ;
244
230
}
245
231
246
232
/// <summary>
247
- /// Visits an ElementInit list .
233
+ /// Visits a MemberMemberBinding .
248
234
/// </summary>
249
- /// <param name="nodes">The ElementInit list.</param>
250
- /// <returns>The ElementInit list.</returns>
251
- protected override IEnumerable < ElementInit > VisitElementInitializerList (
252
- ReadOnlyCollection < ElementInit > nodes )
235
+ /// <param name="node">The MemberMemberBinding.</param>
236
+ /// <returns>The MemberMemberBinding.</returns>
237
+ protected override MemberMemberBinding VisitMemberMemberBinding ( MemberMemberBinding node )
253
238
{
254
239
throw new NotImplementedException ( ) ;
255
240
}
256
241
257
242
/// <summary>
258
- /// Visits a LambdaExpression .
243
+ /// Visits a MethodCallExpression .
259
244
/// </summary>
260
- /// <param name="node">The LambdaExpression .</param>
261
- /// <returns>The LambdaExpression .</returns>
262
- protected override Expression VisitLambda ( LambdaExpression node )
245
+ /// <param name="node">The MethodCallExpression .</param>
246
+ /// <returns>The MethodCallExpression .</returns>
247
+ protected override Expression VisitMethodCall ( MethodCallExpression node )
263
248
{
264
249
WriteHeader ( node ) ;
265
250
using ( new Indentation ( this ) )
266
251
{
267
- WriteLine ( "Parameters:" ) ;
268
- foreach ( var parameter in node . Parameters )
252
+ WriteLine ( "Method={0}" , node . Method . Name ) ;
253
+ WriteLine ( "Arguments:" ) ;
254
+ using ( new Indentation ( this ) )
269
255
{
270
- VisitIndented ( parameter ) ;
256
+ foreach ( var arg in node . Arguments )
257
+ {
258
+ Visit ( arg ) ;
259
+ }
271
260
}
272
- WriteLine ( "Body:" ) ;
273
- VisitIndented ( node . Body ) ;
274
261
}
275
262
return node ;
276
263
}
@@ -295,43 +282,56 @@ protected override NewExpression VisitNew(NewExpression node)
295
282
}
296
283
297
284
/// <summary>
298
- /// Visits a MemberInitExpression .
285
+ /// Visits a NewArrayExpression .
299
286
/// </summary>
300
- /// <param name="node">The MemberInitExpression .</param>
301
- /// <returns>The MemberInitExpression .</returns>
302
- protected override Expression VisitMemberInit ( MemberInitExpression node )
287
+ /// <param name="node">The NewArrayExpression .</param>
288
+ /// <returns>The NewArrayExpression .</returns>
289
+ protected override Expression VisitNewArray ( NewArrayExpression node )
303
290
{
304
291
throw new NotImplementedException ( ) ;
305
292
}
306
293
307
294
/// <summary>
308
- /// Visits a ListInitExpression .
295
+ /// Visits a ParameterExpression .
309
296
/// </summary>
310
- /// <param name="node">The ListInitExpression .</param>
311
- /// <returns>The ListInitExpression .</returns>
312
- protected override Expression VisitListInit ( ListInitExpression node )
297
+ /// <param name="node">The ParameterExpression .</param>
298
+ /// <returns>The ParameterExpression .</returns>
299
+ protected override Expression VisitParameter ( ParameterExpression node )
313
300
{
314
- throw new NotImplementedException ( ) ;
301
+ WriteHeader ( node ) ;
302
+ using ( new Indentation ( this ) )
303
+ {
304
+ WriteLine ( "Name={0}" , node . Name ) ;
305
+ WriteLine ( "Type={0}" , FriendlyClassName ( node . Type ) ) ;
306
+ }
307
+ return node ;
315
308
}
316
309
317
310
/// <summary>
318
- /// Visits a NewArrayExpression .
311
+ /// Visits a TypeBinaryExpression .
319
312
/// </summary>
320
- /// <param name="node">The NewArrayExpression .</param>
321
- /// <returns>The NewArrayExpression .</returns>
322
- protected override Expression VisitNewArray ( NewArrayExpression node )
313
+ /// <param name="node">The TypeBinaryExpression .</param>
314
+ /// <returns>The TypeBinaryExpression .</returns>
315
+ protected override Expression VisitTypeBinary ( TypeBinaryExpression node )
323
316
{
324
317
throw new NotImplementedException ( ) ;
325
318
}
326
319
327
320
/// <summary>
328
- /// Visits an InvocationExpression .
321
+ /// Visits a UnaryExpression .
329
322
/// </summary>
330
- /// <param name="node">The InvocationExpression .</param>
331
- /// <returns>The InvocationExpression .</returns>
332
- protected override Expression VisitInvocation ( InvocationExpression node )
323
+ /// <param name="node">The UnaryExpression .</param>
324
+ /// <returns>The UnaryExpression .</returns>
325
+ protected override Expression VisitUnary ( UnaryExpression node )
333
326
{
334
- throw new NotImplementedException ( ) ;
327
+ WriteHeader ( node ) ;
328
+ using ( new Indentation ( this ) )
329
+ {
330
+ WriteLine ( "Method={0}" , node . Method == null ? "null" : node . Method . Name ) ;
331
+ WriteLine ( "Operand:" ) ;
332
+ VisitIndented ( node . Operand ) ;
333
+ }
334
+ return node ;
335
335
}
336
336
337
337
// private methods
0 commit comments