2010-05-31 Jb Evain <jbevain@novell.com>
[mcs.git] / mcs / visit.cs
blob532f942af7bd48d8f1ab305a9562a6aeb1315589
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)
12 using System;
14 namespace Mono.CSharp
16 public abstract class StructuralVisitor
18 public virtual void Visit (MemberCore member)
20 Console.WriteLine ("unknown member: " + member);
23 void VisitTypeContainer (TypeContainer tc)
25 //foreach (var member in tc.OrderedAllMembers) {
26 // member.Accept (this);
27 //}
30 public virtual void Visit (Class c)
32 VisitTypeContainer (c);
35 public virtual void Visit (Struct s)
37 VisitTypeContainer (s);
41 public virtual void Visit (Interface i)
43 VisitTypeContainer (i);
46 public virtual void Visit (Delegate d)
50 public virtual void Visit (Enum e)
52 VisitTypeContainer (e);
55 public virtual void Visit (FixedField f)
59 public virtual void Visit (Field f)
63 public virtual void Visit (Operator o)
67 public virtual void Visit (Indexer i)
71 public virtual void Visit (Method m)
75 public virtual void Visit (Property p)
79 public virtual void Visit (Constructor c)
83 public virtual void Visit (Destructor d)
87 public virtual void Visit (EventField e)
90 public virtual void Visit (EventProperty ep)
94 public virtual void Visit (EnumMember em)
98 public virtual object Visit (Statement stmt)
100 Console.WriteLine ("unknown statement:" + stmt);
101 return null;
104 public virtual object Visit (EmptyStatement emptyStatement)
106 return null;
109 public virtual object Visit (EmptyExpressionStatement emptyExpressionStatement)
111 return null;
114 public virtual object Visit (If ifStatement)
116 return null;
120 public virtual object Visit (Do doStatement)
122 return null;
126 public virtual object Visit (While whileStatement)
128 return null;
132 public virtual object Visit (For forStatement)
134 return null;
138 public virtual object Visit (StatementExpression statementExpression)
140 return null;
144 public virtual object Visit (Return returnStatement)
146 return null;
150 public virtual object Visit (Goto gotoStatement)
152 return null;
156 public virtual object Visit (LabeledStatement labeledStatement)
158 return null;
162 public virtual object Visit (GotoDefault gotoDefault)
164 return null;
168 public virtual object Visit (GotoCase gotoCase)
170 return null;
174 public virtual object Visit (Throw throwStatement)
176 return null;
180 public virtual object Visit (Break breakStatement)
182 return null;
186 public virtual object Visit (Continue continueStatement)
188 return null;
192 public virtual object Visit (Block blockStatement)
194 return null;
198 public virtual object Visit (Switch switchStatement)
200 return null;
204 public virtual object Visit (Lock lockStatement)
206 return null;
210 public virtual object Visit (Unchecked uncheckedStatement)
212 return null;
216 public virtual object Visit (Checked checkedStatement)
218 return null;
222 public virtual object Visit (Unsafe unsafeStatement)
224 return null;
228 public virtual object Visit (Fixed fixedStatement)
230 return null;
234 public virtual object Visit (TryFinally tryFinallyStatement)
236 return null;
240 public virtual object Visit (TryCatch tryCatchStatement)
242 return null;
245 public virtual object Visit (Using usingStatement)
247 return null;
250 public virtual object Visit (UsingTemporary usingTemporaryStatement)
252 return null;
255 public virtual object Visit (Foreach foreachStatement)
257 return null;
260 public virtual object Visit (Yield yieldStatement)
262 return null;
265 public virtual object Visit (YieldBreak yieldBreakStatement)
267 return null;
270 public virtual object Visit (Expression expression)
272 Console.WriteLine ("Visit unknown expression:" + expression);
273 return null;
276 public virtual object Visit (MemberAccess memberAccess)
278 return null;
281 public virtual object Visit (TypeLookupExpression typeLookupExpression)
283 return null;
286 public virtual object Visit (LocalVariableReference localVariableReference)
288 return null;
291 public virtual object Visit (Constant constant)
293 return null;
296 public virtual object Visit (BooleanExpression booleanExpression)
298 return null;
301 public virtual object Visit (SimpleName simpleName)
303 return null;
306 public virtual object Visit (ParenthesizedExpression parenthesizedExpression)
308 return null;
311 public virtual object Visit (Unary unaryExpression)
313 return null;
316 public virtual object Visit (UnaryMutator unaryMutatorExpression)
318 return null;
321 // *expr
322 public virtual object Visit (Indirection indirectionExpression)
324 return null;
327 public virtual object Visit (Is isExpression)
329 return null;
332 public virtual object Visit (As asExpression)
334 return null;
337 public virtual object Visit (Cast castExpression)
339 return null;
342 public virtual object Visit (ComposedCast composedCast)
344 return null;
347 public virtual object Visit (DefaultValueExpression defaultValueExpression)
349 return null;
352 public virtual object Visit (Binary binaryExpression)
354 return null;
357 public virtual object Visit (Nullable.NullCoalescingOperator nullCoalescingOperator)
359 return null;
363 public virtual object Visit (Conditional conditionalExpression)
365 return null;
368 public virtual object Visit (Invocation invocationExpression)
370 return null;
373 public virtual object Visit (New newExpression)
375 return null;
378 public virtual object Visit (NewInitialize newInitializeExpression)
380 return null;
383 public virtual object Visit (ArrayCreation arrayCreationExpression)
385 return null;
388 public virtual object Visit (This thisExpression)
390 return null;
393 public virtual object Visit (ArglistAccess argListAccessExpression)
395 return null;
398 public virtual object Visit (Arglist argListExpression)
400 return null;
403 public virtual object Visit (TypeOf typeOfExpression)
405 return null;
408 public virtual object Visit (SizeOf sizeOfExpression)
410 return null;
413 public virtual object Visit (CheckedExpr checkedExpression)
415 return null;
418 public virtual object Visit (UnCheckedExpr uncheckedExpression)
420 return null;
423 public virtual object Visit (ElementAccess elementAccessExpression)
425 return null;
428 public virtual object Visit (BaseAccess baseAccessExpression)
430 return null;
433 public virtual object Visit (BaseIndexerAccess baseIndexerAccess)
435 return null;
438 public virtual object Visit (StackAlloc stackAllocExpression)
440 return null;
443 public virtual object Visit (SimpleAssign simpleAssign)
445 return null;
448 public virtual object Visit (CompoundAssign compoundAssign)
450 return null;
453 public virtual object Visit (AnonymousMethodExpression anonymousMethodExpression)
455 return null;
458 public virtual object Visit (LambdaExpression lambdaExpression)
460 return null;
463 public virtual object Visit (Linq.QueryExpression queryExpression)
465 return null;
468 public virtual object Visit (Linq.SelectMany selectMany)
470 return null;
473 public virtual object Visit (Linq.Select select)
475 return null;
478 public virtual object Visit (Linq.GroupBy groupBy)
480 return null;
483 public virtual object Visit (Linq.Let let)
485 return null;
488 public virtual object Visit (Linq.Where where)
490 return null;
493 public virtual object Visit (Linq.Join join)
495 return null;
498 public virtual object Visit (Linq.GroupJoin groupJoin)
500 return null;
503 public virtual object Visit (Linq.OrderByAscending orderByAscending)
505 return null;
508 public virtual object Visit (Linq.OrderByDescending orderByDescending)
510 return null;
513 public virtual object Visit (Linq.ThenByAscending thenByAscending)
515 return null;
518 public virtual object Visit (Linq.ThenByDescending thenByDescending)
520 return null;