Turn eval test into normal test case
[mono.git] / mcs / mcs / visit.cs
1 //
2 // visit.cs: Visitors for parsed dom
3 //
4 // Authors: Mike Krüger (mkrueger@novell.com)
5 //                      Marek Safar (marek.safar@gmail.com)
6 //
7 // Dual licensed under the terms of the MIT X11 or GNU GPL
8 //
9 // Copyright (c) 2010 Novell, Inc (http://www.novell.com)
10 //
11
12 using System;
13
14 namespace Mono.CSharp
15 {
16         public abstract class StructuralVisitor
17         {
18                 public virtual void Visit (MemberCore member)
19                 {
20                         Console.WriteLine ("unknown member: " + member);
21                 }
22
23                 void VisitTypeContainer (TypeContainer tc)
24                 {
25                         //foreach (var member in tc.OrderedAllMembers) {
26                         //    member.Accept (this);
27                         //}
28                 }
29
30                 public virtual void Visit (Class c)
31                 {
32                         VisitTypeContainer (c);
33                 }
34
35                 public virtual void Visit (Struct s)
36                 {
37                         VisitTypeContainer (s);
38                 }
39
40
41                 public virtual void Visit (Interface i)
42                 {
43                         VisitTypeContainer (i);
44                 }
45
46                 public virtual void Visit (Delegate d)
47                 {
48                 }
49
50                 public virtual void Visit (Enum e)
51                 {
52                         VisitTypeContainer (e);
53                 }
54
55                 public virtual void Visit (FixedField f)
56                 {
57                 }
58
59                 public virtual void Visit (Field f)
60                 {
61                 }
62
63                 public virtual void Visit (Operator o)
64                 {
65                 }
66
67                 public virtual void Visit (Indexer i)
68                 {
69                 }
70
71                 public virtual void Visit (Method m)
72                 {
73                 }
74
75                 public virtual void Visit (Property p)
76                 {
77                 }
78
79                 public virtual void Visit (Constructor c)
80                 {
81                 }
82
83                 public virtual void Visit (Destructor d)
84                 {
85                 }
86
87                 public virtual void Visit (EventField e)
88                 {
89                 }
90                 public virtual void Visit (EventProperty ep)
91                 {
92                 }
93
94                 public virtual void Visit (EnumMember em)
95                 {
96                 }
97
98                 public virtual object Visit (Statement stmt)
99                 {
100                         Console.WriteLine ("unknown statement:" + stmt);
101                         return null;
102                 }
103
104                 public virtual object Visit (EmptyStatement emptyStatement)
105                 {
106                         return null;
107                 }
108
109                 public virtual object Visit (EmptyExpressionStatement emptyExpressionStatement)
110                 {
111                         return null;
112                 }
113
114                 public virtual object Visit (If ifStatement)
115                 {
116                         return null;
117                 }
118
119
120                 public virtual object Visit (Do doStatement)
121                 {
122                         return null;
123                 }
124
125
126                 public virtual object Visit (While whileStatement)
127                 {
128                         return null;
129                 }
130
131
132                 public virtual object Visit (For forStatement)
133                 {
134                         return null;
135                 }
136
137
138                 public virtual object Visit (StatementExpression statementExpression)
139                 {
140                         return null;
141                 }
142
143
144                 public virtual object Visit (Return returnStatement)
145                 {
146                         return null;
147                 }
148
149
150                 public virtual object Visit (Goto gotoStatement)
151                 {
152                         return null;
153                 }
154
155
156                 public virtual object Visit (LabeledStatement labeledStatement)
157                 {
158                         return null;
159                 }
160
161
162                 public virtual object Visit (GotoDefault gotoDefault)
163                 {
164                         return null;
165                 }
166
167
168                 public virtual object Visit (GotoCase gotoCase)
169                 {
170                         return null;
171                 }
172
173
174                 public virtual object Visit (Throw throwStatement)
175                 {
176                         return null;
177                 }
178
179
180                 public virtual object Visit (Break breakStatement)
181                 {
182                         return null;
183                 }
184
185
186                 public virtual object Visit (Continue continueStatement)
187                 {
188                         return null;
189                 }
190
191
192                 public virtual object Visit (Block blockStatement)
193                 {
194                         return null;
195                 }
196
197
198                 public virtual object Visit (Switch switchStatement)
199                 {
200                         return null;
201                 }
202
203
204                 public virtual object Visit (Lock lockStatement)
205                 {
206                         return null;
207                 }
208
209
210                 public virtual object Visit (Unchecked uncheckedStatement)
211                 {
212                         return null;
213                 }
214
215
216                 public virtual object Visit (Checked checkedStatement)
217                 {
218                         return null;
219                 }
220
221
222                 public virtual object Visit (Unsafe unsafeStatement)
223                 {
224                         return null;
225                 }
226
227
228                 public virtual object Visit (Fixed fixedStatement)
229                 {
230                         return null;
231                 }
232
233
234                 public virtual object Visit (TryFinally tryFinallyStatement)
235                 {
236                         return null;
237                 }
238
239
240                 public virtual object Visit (TryCatch tryCatchStatement)
241                 {
242                         return null;
243                 }
244
245                 public virtual object Visit (Using usingStatement)
246                 {
247                         return null;
248                 }
249
250                 public virtual object Visit (UsingTemporary usingTemporaryStatement)
251                 {
252                         return null;
253                 }
254
255                 public virtual object Visit (Foreach foreachStatement)
256                 {
257                         return null;
258                 }
259
260                 public virtual object Visit (Yield yieldStatement)
261                 {
262                         return null;
263                 }
264
265                 public virtual object Visit (YieldBreak yieldBreakStatement)
266                 {
267                         return null;
268                 }
269
270                 public virtual object Visit (Expression expression)
271                 {
272                         Console.WriteLine ("Visit unknown expression:" + expression);
273                         return null;
274                 }
275
276                 public virtual object Visit (MemberAccess memberAccess)
277                 {
278                         return null;
279                 }
280
281                 public virtual object Visit (TypeLookupExpression typeLookupExpression)
282                 {
283                         return null;
284                 }
285
286                 public virtual object Visit (LocalVariableReference localVariableReference)
287                 {
288                         return null;
289                 }
290
291                 public virtual object Visit (Constant constant)
292                 {
293                         return null;
294                 }
295
296                 public virtual object Visit (BooleanExpression booleanExpression)
297                 {
298                         return null;
299                 }
300
301                 public virtual object Visit (SimpleName simpleName)
302                 {
303                         return null;
304                 }
305
306                 public virtual object Visit (ParenthesizedExpression parenthesizedExpression)
307                 {
308                         return null;
309                 }
310
311                 public virtual object Visit (Unary unaryExpression)
312                 {
313                         return null;
314                 }
315
316                 public virtual object Visit (UnaryMutator unaryMutatorExpression)
317                 {
318                         return null;
319                 }
320
321                 // *expr
322                 public virtual object Visit (Indirection indirectionExpression)
323                 {
324                         return null;
325                 }
326
327                 public virtual object Visit (Is isExpression)
328                 {
329                         return null;
330                 }
331
332                 public virtual object Visit (As asExpression)
333                 {
334                         return null;
335                 }
336
337                 public virtual object Visit (Cast castExpression)
338                 {
339                         return null;
340                 }
341
342                 public virtual object Visit (ComposedCast composedCast)
343                 {
344                         return null;
345                 }
346
347                 public virtual object Visit (DefaultValueExpression defaultValueExpression)
348                 {
349                         return null;
350                 }
351
352                 public virtual object Visit (Binary binaryExpression)
353                 {
354                         return null;
355                 }
356
357                 public virtual object Visit (Nullable.NullCoalescingOperator nullCoalescingOperator)
358                 {
359                         return null;
360                 }
361
362
363                 public virtual object Visit (Conditional conditionalExpression)
364                 {
365                         return null;
366                 }
367
368                 public virtual object Visit (Invocation invocationExpression)
369                 {
370                         return null;
371                 }
372
373                 public virtual object Visit (New newExpression)
374                 {
375                         return null;
376                 }
377
378                 public virtual object Visit (NewInitialize newInitializeExpression)
379                 {
380                         return null;
381                 }
382
383                 public virtual object Visit (ArrayCreation arrayCreationExpression)
384                 {
385                         return null;
386                 }
387
388                 public virtual object Visit (This thisExpression)
389                 {
390                         return null;
391                 }
392
393                 public virtual object Visit (ArglistAccess argListAccessExpression)
394                 {
395                         return null;
396                 }
397
398                 public virtual object Visit (Arglist argListExpression)
399                 {
400                         return null;
401                 }
402
403                 public virtual object Visit (TypeOf typeOfExpression)
404                 {
405                         return null;
406                 }
407
408                 public virtual object Visit (SizeOf sizeOfExpression)
409                 {
410                         return null;
411                 }
412
413                 public virtual object Visit (CheckedExpr checkedExpression)
414                 {
415                         return null;
416                 }
417
418                 public virtual object Visit (UnCheckedExpr uncheckedExpression)
419                 {
420                         return null;
421                 }
422
423                 public virtual object Visit (ElementAccess elementAccessExpression)
424                 {
425                         return null;
426                 }
427
428                 public virtual object Visit (BaseAccess baseAccessExpression)
429                 {
430                         return null;
431                 }
432
433                 public virtual object Visit (BaseIndexerAccess baseIndexerAccess)
434                 {
435                         return null;
436                 }
437
438                 public virtual object Visit (StackAlloc stackAllocExpression)
439                 {
440                         return null;
441                 }
442
443                 public virtual object Visit (SimpleAssign simpleAssign)
444                 {
445                         return null;
446                 }
447
448                 public virtual object Visit (CompoundAssign compoundAssign)
449                 {
450                         return null;
451                 }
452
453                 public virtual object Visit (AnonymousMethodExpression anonymousMethodExpression)
454                 {
455                         return null;
456                 }
457
458                 public virtual object Visit (LambdaExpression lambdaExpression)
459                 {
460                         return null;
461                 }
462
463                 public virtual object Visit (Linq.QueryExpression queryExpression)
464                 {
465                         return null;
466                 }
467
468                 public virtual object Visit (Linq.SelectMany selectMany)
469                 {
470                         return null;
471                 }
472
473                 public virtual object Visit (Linq.Select select)
474                 {
475                         return null;
476                 }
477
478                 public virtual object Visit (Linq.GroupBy groupBy)
479                 {
480                         return null;
481                 }
482
483                 public virtual object Visit (Linq.Let let)
484                 {
485                         return null;
486                 }
487
488                 public virtual object Visit (Linq.Where where)
489                 {
490                         return null;
491                 }
492
493                 public virtual object Visit (Linq.Join join)
494                 {
495                         return null;
496                 }
497
498                 public virtual object Visit (Linq.GroupJoin groupJoin)
499                 {
500                         return null;
501                 }
502
503                 public virtual object Visit (Linq.OrderByAscending orderByAscending)
504                 {
505                         return null;
506                 }
507
508                 public virtual object Visit (Linq.OrderByDescending orderByDescending)
509                 {
510                         return null;
511                 }
512
513                 public virtual object Visit (Linq.ThenByAscending thenByAscending)
514                 {
515                         return null;
516                 }
517
518                 public virtual object Visit (Linq.ThenByDescending thenByDescending)
519                 {
520                         return null;
521                 }
522         }
523 }