// visit.cs: Visitors for parsed dom
//
// Authors: Mike Krüger (mkrueger@novell.com)
-// Marek Safar (marek.safar@gmail.com)
+// Marek Safar (marek.safar@gmail.com)
//
// Dual licensed under the terms of the MIT X11 or GNU GPL
//
// Copyright (c) 2010 Novell, Inc (http://www.novell.com)
+// Copyright 2011 Xamarin Inc
//
using System;
+using System.Diagnostics;
namespace Mono.CSharp
{
{
public virtual void Visit (MemberCore member)
{
- Console.WriteLine ("unknown member type: " + member.GetType ());
+ Debug.Fail ("unknown member type: " + member.GetType ());
}
void VisitTypeContainer (TypeContainer tc)
{
- //foreach (var member in tc.OrderedAllMembers) {
- // member.Accept (this);
- //}
+ foreach (var container in tc.Containers) {
+ container.Accept (this);
+ }
+ }
+
+ void VisitTypeContainer (TypeDefinition tc)
+ {
+ foreach (var member in tc.Members) {
+ member.Accept (this);
+ }
}
public virtual void Visit (ModuleContainer module)
VisitTypeContainer (module);
}
+ public virtual void Visit (UsingNamespace un)
+ {
+ }
+
+ public virtual void Visit (UsingAliasNamespace uan)
+ {
+ }
+
+ public virtual void Visit (UsingExternAlias uea)
+ {
+ }
+
+ public virtual void Visit (NamespaceContainer ns)
+ {
+ VisitTypeContainer (ns);
+ }
+
+ public virtual void Visit (CompilationSourceFile csf)
+ {
+ VisitTypeContainer (csf);
+ }
+
public virtual void Visit (Class c)
{
VisitTypeContainer (c);
public virtual object Visit (Statement stmt)
{
- Console.WriteLine ("unknown statement:" + stmt);
+ Debug.Fail ("unknown statement:" + stmt);
return null;
}
- public virtual object Visit (BlockVariableDeclaration blockVariableDeclaration)
+ public virtual object Visit (BlockVariable blockVariableDeclaration)
{
return null;
}
- public virtual object Visit (BlockConstantDeclaration blockConstantDeclaration)
+ public virtual object Visit (BlockConstant blockConstantDeclaration)
{
return null;
}
return null;
}
+ public virtual object Visit (EmptyExpression emptyExpression)
+ {
+ return null;
+ }
+
+ public virtual object Visit (ErrorExpression errorExpression)
+ {
+ return null;
+ }
+
public virtual object Visit (If ifStatement)
{
return null;
return null;
}
-
public virtual object Visit (While whileStatement)
{
return null;
}
-
public virtual object Visit (For forStatement)
{
return null;
}
-
public virtual object Visit (StatementExpression statementExpression)
{
return null;
}
+ public virtual object Visit (StatementErrorExpression errorStatement)
+ {
+ return null;
+ }
public virtual object Visit (Return returnStatement)
{
return null;
}
-
public virtual object Visit (Goto gotoStatement)
{
return null;
}
-
public virtual object Visit (LabeledStatement labeledStatement)
{
return null;
}
+ public virtual object Visit (SwitchLabel switchLabel)
+ {
+ return null;
+ }
public virtual object Visit (GotoDefault gotoDefault)
{
return null;
}
-
public virtual object Visit (GotoCase gotoCase)
{
return null;
}
-
public virtual object Visit (Throw throwStatement)
{
return null;
}
-
public virtual object Visit (Break breakStatement)
{
return null;
}
-
public virtual object Visit (Continue continueStatement)
{
return null;
}
-
public virtual object Visit (Block blockStatement)
{
return null;
return null;
}
-
public virtual object Visit (Unchecked uncheckedStatement)
{
return null;
}
-
public virtual object Visit (Checked checkedStatement)
{
return null;
}
-
public virtual object Visit (Unsafe unsafeStatement)
{
return null;
return null;
}
-
public virtual object Visit (TryCatch tryCatchStatement)
{
return null;
public virtual object Visit (Expression expression)
{
- Console.WriteLine ("Visit unknown expression:" + expression);
+ Debug.Fail ("Visit unknown expression:" + expression);
return null;
}
return null;
}
+ public virtual object Visit (QualifiedAliasMember qualifiedAliasMember)
+ {
+ return null;
+ }
+
public virtual object Visit (LocalVariableReference localVariableReference)
{
return null;
return null;
}
-
public virtual object Visit (Conditional conditionalExpression)
{
return null;
return null;
}
+ public virtual object Visit (NewAnonymousType newAnonymousType)
+ {
+ return null;
+ }
+
public virtual object Visit (NewInitialize newInitializeExpression)
{
return null;
return null;
}
+ public virtual object Visit (Linq.QueryStartClause queryExpression)
+ {
+ return null;
+ }
+
public virtual object Visit (Linq.SelectMany selectMany)
{
return null;
{
return null;
}
+
+ // undocumented expressions
+ public virtual object Visit (RefValueExpr refValueExpr)
+ {
+ return null;
+ }
+
+ public virtual object Visit (RefTypeExpr refTypeExpr)
+ {
+ return null;
+ }
+
+ public virtual object Visit (MakeRefExpr makeRefExpr)
+ {
+ return null;
+ }
+
+ public virtual object Visit (Await awaitExpr)
+ {
+ return null;
+ }
}
}
\ No newline at end of file