**** Merged r36954 from MCS ****
[mono.git] / mcs / gmcs / rootcontext.cs
index b5c15422163390bc7fc849837cfb4f1a7ae1be81..f792d213ac618eb576c6d5b51dd6f55ae10a29a2 100755 (executable)
@@ -7,12 +7,14 @@
 // Licensed under the terms of the GNU GPL
 //
 // (C) 2001 Ximian, Inc (http://www.ximian.com)
+// (C) 2004 Novell, Inc
 
 using System;
 using System.Collections;
 using System.Reflection;
 using System.Reflection.Emit;
 using System.Diagnostics;
+using System.Xml;
 
 namespace Mono.CSharp {
 
@@ -79,6 +81,11 @@ namespace Mono.CSharp {
                public static string StrongNameKeyContainer;
                public static bool StrongNameDelaySign = false;
 
+               //
+               // If set, enable XML documentation generation
+               //
+               public static Documentation Documentation;
+
                //
                // Constructor
                //
@@ -304,6 +311,7 @@ namespace Mono.CSharp {
                                "System.IDisposable",
                                
                                "System.Runtime.Serialization.ISerializable",
+                               "System.Runtime.InteropServices._Exception",
 
                                "System.Reflection.IReflect",
                                "System.Reflection.ICustomAttributeProvider",
@@ -381,6 +389,7 @@ namespace Mono.CSharp {
                                "System.Security.UnverifiableCodeAttribute",
                                "System.Security.Permissions.SecurityAttribute",
                                "System.Runtime.CompilerServices.IndexerNameAttribute",
+                               "System.Runtime.CompilerServices.DecimalConstantAttribute",
                                "System.Runtime.InteropServices.InAttribute",
                                "System.Runtime.InteropServices.StructLayoutAttribute",
                                "System.Runtime.InteropServices.FieldOffsetAttribute",
@@ -561,7 +570,7 @@ namespace Mono.CSharp {
                                }
                                
                                t = NamespaceLookup (ds, name, num_type_params, loc);
-                               if (t != null){
+                               if (!silent || t != null){
                                        ds.Cache [name] = t;
                                        return t;
                                }