[msvc] Update csproj files
[mono.git] / mcs / mcs / visit.cs
index 532f942af7bd48d8f1ab305a9562a6aeb1315589..fc2aa5e62b830cb238aba7b2308d53e3afbe4d85 100644 (file)
@@ -2,14 +2,16 @@
 // 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
 {
@@ -17,14 +19,48 @@ namespace Mono.CSharp
        {
                public virtual void Visit (MemberCore member)
                {
-                       Console.WriteLine ("unknown member: " + member);
+                       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)
@@ -56,6 +92,10 @@ namespace Mono.CSharp
                {
                }
 
+               public virtual void Visit (Const c)
+               {
+               }
+
                public virtual void Visit (Field f)
                {
                }
@@ -97,10 +137,20 @@ namespace Mono.CSharp
 
                public virtual object Visit (Statement stmt)
                {
-                       Console.WriteLine ("unknown statement:" + stmt);
+                       Debug.Fail ("unknown statement:" + stmt);
                        return null;
                }
-
+               
+               public virtual object Visit (BlockVariable blockVariableDeclaration)
+               {
+                       return null;
+               }
+               
+               public virtual object Visit (BlockConstant blockConstantDeclaration)
+               {
+                       return null;
+               }
+               
                public virtual object Visit (EmptyStatement emptyStatement)
                {
                        return null;
@@ -111,6 +161,16 @@ namespace Mono.CSharp
                        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;
@@ -122,103 +182,101 @@ namespace Mono.CSharp
                        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;
                }
-
-
+               
                public virtual object Visit (Switch switchStatement)
                {
                        return null;
                }
-
-
+               
+               public virtual object Visit (StatementList statementList)
+               {
+                       return null;
+               }
+               
                public virtual object Visit (Lock lockStatement)
                {
                        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;
@@ -236,7 +294,6 @@ namespace Mono.CSharp
                        return null;
                }
 
-
                public virtual object Visit (TryCatch tryCatchStatement)
                {
                        return null;
@@ -247,11 +304,6 @@ namespace Mono.CSharp
                        return null;
                }
 
-               public virtual object Visit (UsingTemporary usingTemporaryStatement)
-               {
-                       return null;
-               }
-
                public virtual object Visit (Foreach foreachStatement)
                {
                        return null;
@@ -269,7 +321,7 @@ namespace Mono.CSharp
 
                public virtual object Visit (Expression expression)
                {
-                       Console.WriteLine ("Visit unknown expression:" + expression);
+                       Debug.Fail ("Visit unknown expression:" + expression);
                        return null;
                }
 
@@ -278,7 +330,7 @@ namespace Mono.CSharp
                        return null;
                }
 
-               public virtual object Visit (TypeLookupExpression typeLookupExpression)
+               public virtual object Visit (QualifiedAliasMember qualifiedAliasMember)
                {
                        return null;
                }
@@ -348,7 +400,12 @@ namespace Mono.CSharp
                {
                        return null;
                }
-
+               
+               public virtual object Visit (DefaultParameterValueExpression defaultParameterValueExpression)
+               {
+                       return null;
+               }
+               
                public virtual object Visit (Binary binaryExpression)
                {
                        return null;
@@ -359,7 +416,6 @@ namespace Mono.CSharp
                        return null;
                }
 
-
                public virtual object Visit (Conditional conditionalExpression)
                {
                        return null;
@@ -375,6 +431,11 @@ namespace Mono.CSharp
                        return null;
                }
 
+               public virtual object Visit (NewAnonymousType newAnonymousType)
+               {
+                       return null;
+               }
+
                public virtual object Visit (NewInitialize newInitializeExpression)
                {
                        return null;
@@ -425,27 +486,27 @@ namespace Mono.CSharp
                        return null;
                }
 
-               public virtual object Visit (BaseAccess baseAccessExpression)
+               public virtual object Visit (BaseThis baseAccessExpression)
                {
                        return null;
                }
 
-               public virtual object Visit (BaseIndexerAccess baseIndexerAccess)
+               public virtual object Visit (StackAlloc stackAllocExpression)
                {
                        return null;
                }
 
-               public virtual object Visit (StackAlloc stackAllocExpression)
+               public virtual object Visit (SimpleAssign simpleAssign)
                {
                        return null;
                }
 
-               public virtual object Visit (SimpleAssign simpleAssign)
+               public virtual object Visit (CompoundAssign compoundAssign)
                {
                        return null;
                }
 
-               public virtual object Visit (CompoundAssign compoundAssign)
+               public virtual object Visit (TypeExpression typeExpression)
                {
                        return null;
                }
@@ -454,17 +515,32 @@ namespace Mono.CSharp
                {
                        return null;
                }
-
+               
                public virtual object Visit (LambdaExpression lambdaExpression)
                {
                        return null;
                }
-
+               
+               public virtual object Visit (ConstInitializer constInitializer)
+               {
+                       return null;
+               }
+               
+               public virtual object Visit (ArrayInitializer arrayInitializer)
+               {
+                       return null;
+               }
+               
                public virtual object Visit (Linq.QueryExpression queryExpression)
                {
                        return null;
                }
 
+               public virtual object Visit (Linq.QueryStartClause queryExpression)
+               {
+                       return null;
+               }
+               
                public virtual object Visit (Linq.SelectMany selectMany)
                {
                        return null;
@@ -519,5 +595,26 @@ namespace Mono.CSharp
                {
                        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