2 // visit.cs: Visitors for parsed dom
4 // Authors: Mike Krüger (mkrueger@novell.com)
5 // Marek Safar (marek.safar@gmail.com)
7 // Dual licensed under the terms of the MIT X11 or GNU GPL
9 // Copyright (c) 2010 Novell, Inc (http://www.novell.com)
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);
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
);
104 public virtual object Visit (EmptyStatement emptyStatement
)
109 public virtual object Visit (EmptyExpressionStatement emptyExpressionStatement
)
114 public virtual object Visit (If ifStatement
)
120 public virtual object Visit (Do doStatement
)
126 public virtual object Visit (While whileStatement
)
132 public virtual object Visit (For forStatement
)
138 public virtual object Visit (StatementExpression statementExpression
)
144 public virtual object Visit (Return returnStatement
)
150 public virtual object Visit (Goto gotoStatement
)
156 public virtual object Visit (LabeledStatement labeledStatement
)
162 public virtual object Visit (GotoDefault gotoDefault
)
168 public virtual object Visit (GotoCase gotoCase
)
174 public virtual object Visit (Throw throwStatement
)
180 public virtual object Visit (Break breakStatement
)
186 public virtual object Visit (Continue continueStatement
)
192 public virtual object Visit (Block blockStatement
)
198 public virtual object Visit (Switch switchStatement
)
204 public virtual object Visit (Lock lockStatement
)
210 public virtual object Visit (Unchecked uncheckedStatement
)
216 public virtual object Visit (Checked checkedStatement
)
222 public virtual object Visit (Unsafe unsafeStatement
)
228 public virtual object Visit (Fixed fixedStatement
)
234 public virtual object Visit (TryFinally tryFinallyStatement
)
240 public virtual object Visit (TryCatch tryCatchStatement
)
245 public virtual object Visit (Using usingStatement
)
250 public virtual object Visit (UsingTemporary usingTemporaryStatement
)
255 public virtual object Visit (Foreach foreachStatement
)
260 public virtual object Visit (Yield yieldStatement
)
265 public virtual object Visit (YieldBreak yieldBreakStatement
)
270 public virtual object Visit (Expression expression
)
272 Console
.WriteLine ("Visit unknown expression:" + expression
);
276 public virtual object Visit (MemberAccess memberAccess
)
281 public virtual object Visit (TypeLookupExpression typeLookupExpression
)
286 public virtual object Visit (LocalVariableReference localVariableReference
)
291 public virtual object Visit (Constant constant
)
296 public virtual object Visit (BooleanExpression booleanExpression
)
301 public virtual object Visit (SimpleName simpleName
)
306 public virtual object Visit (ParenthesizedExpression parenthesizedExpression
)
311 public virtual object Visit (Unary unaryExpression
)
316 public virtual object Visit (UnaryMutator unaryMutatorExpression
)
322 public virtual object Visit (Indirection indirectionExpression
)
327 public virtual object Visit (Is isExpression
)
332 public virtual object Visit (As asExpression
)
337 public virtual object Visit (Cast castExpression
)
342 public virtual object Visit (ComposedCast composedCast
)
347 public virtual object Visit (DefaultValueExpression defaultValueExpression
)
352 public virtual object Visit (Binary binaryExpression
)
357 public virtual object Visit (Nullable
.NullCoalescingOperator nullCoalescingOperator
)
363 public virtual object Visit (Conditional conditionalExpression
)
368 public virtual object Visit (Invocation invocationExpression
)
373 public virtual object Visit (New newExpression
)
378 public virtual object Visit (NewInitialize newInitializeExpression
)
383 public virtual object Visit (ArrayCreation arrayCreationExpression
)
388 public virtual object Visit (This thisExpression
)
393 public virtual object Visit (ArglistAccess argListAccessExpression
)
398 public virtual object Visit (Arglist argListExpression
)
403 public virtual object Visit (TypeOf typeOfExpression
)
408 public virtual object Visit (SizeOf sizeOfExpression
)
413 public virtual object Visit (CheckedExpr checkedExpression
)
418 public virtual object Visit (UnCheckedExpr uncheckedExpression
)
423 public virtual object Visit (ElementAccess elementAccessExpression
)
428 public virtual object Visit (BaseAccess baseAccessExpression
)
433 public virtual object Visit (BaseIndexerAccess baseIndexerAccess
)
438 public virtual object Visit (StackAlloc stackAllocExpression
)
443 public virtual object Visit (SimpleAssign simpleAssign
)
448 public virtual object Visit (CompoundAssign compoundAssign
)
453 public virtual object Visit (AnonymousMethodExpression anonymousMethodExpression
)
458 public virtual object Visit (LambdaExpression lambdaExpression
)
463 public virtual object Visit (Linq
.QueryExpression queryExpression
)
468 public virtual object Visit (Linq
.SelectMany selectMany
)
473 public virtual object Visit (Linq
.Select
select)
478 public virtual object Visit (Linq
.GroupBy groupBy
)
483 public virtual object Visit (Linq
.Let
let)
488 public virtual object Visit (Linq
.Where where
)
493 public virtual object Visit (Linq
.Join
join)
498 public virtual object Visit (Linq
.GroupJoin groupJoin
)
503 public virtual object Visit (Linq
.OrderByAscending orderByAscending
)
508 public virtual object Visit (Linq
.OrderByDescending orderByDescending
)
513 public virtual object Visit (Linq
.ThenByAscending thenByAscending
)
518 public virtual object Visit (Linq
.ThenByDescending thenByDescending
)