2008-09-23 Marek Safar <marek.safar@gmail.com>
authorMarek Safar <marek.safar@gmail.com>
Tue, 23 Sep 2008 11:48:00 +0000 (11:48 -0000)
committerMarek Safar <marek.safar@gmail.com>
Tue, 23 Sep 2008 11:48:00 +0000 (11:48 -0000)
* codegen.cs: Set .NET symbol writer.

* decl.cs: Guard against null generic arguments.

* report.cs: Don't report exactly same additional details.

svn path=/trunk/mcs/; revision=113807

mcs/mcs/ChangeLog
mcs/mcs/codegen.cs
mcs/mcs/decl.cs
mcs/mcs/report.cs

index 1d22de9a4f9a1bd0530d37106af343a57714a3fa..eaeacff58e8f34e66170d672aa74350fd7537ae0 100644 (file)
@@ -1,3 +1,11 @@
+2008-09-23  Marek Safar  <marek.safar@gmail.com>
+
+       * codegen.cs: Set .NET symbol writer.
+       
+       * decl.cs: Guard against null generic arguments.
+       
+       * report.cs: Don't report exactly same additional details.
+
 2008-09-22  Marek Safar  <marek.safar@gmail.com>
 
        A fix for bug #324917
index c4e28ce9387f5221a02b3a678428f70f7cc3302b..4ee472fd960e3bc8ff3cc413dccdef426a06bc38 100644 (file)
@@ -178,10 +178,13 @@ namespace Mono.CSharp {
                        // load the default symbol writer.
                        //
                        Module.Builder = Assembly.Builder.DefineDynamicModule (
-                               Basename (name), Basename (output), false);
+                               Basename (name), Basename (output), want_debugging_support);
 
+#if !MS_COMPATIBLE
+                       // TODO: This should go into DefineDynamicModule
                        if (want_debugging_support)
                                InitializeSymbolWriter (output);
+#endif
 
                        return true;
                }
index 8d5ac41b3acc011431e5ae24607a0739255557c4..988b7bceac4c219d5bf56f777c2eb28964ccf1d6 100644 (file)
@@ -2460,9 +2460,9 @@ namespace Mono.CSharp {
                                //
                                if (mi != null) {
                                        Type [] cmpGenArgs = TypeManager.GetGenericArguments (mi);
-                                       if (generic_method == null && cmpGenArgs.Length != 0)
+                                       if (generic_method == null && cmpGenArgs != null && cmpGenArgs.Length != 0)
                                                continue;
-                                       if (generic_method != null && cmpGenArgs.Length != generic_method.TypeParameters.Length)
+                                       if (generic_method != null && cmpGenArgs != null && cmpGenArgs.Length != generic_method.TypeParameters.Length)
                                                continue;
                                }
 
index eccac984f862a52031ff3a168299faf48678870f..ef817dde923f85e573e975b52812cf78412ea8c9 100644 (file)
@@ -708,7 +708,11 @@ namespace Mono.CSharp {
 
                static void SymbolRelatedToPreviousError (string loc, string symbol)
                {
-                       extra_information.Add (String.Format ("{0} (Location of the symbol related to previous ", loc));
+                       string msg = String.Format ("{0} (Location of the symbol related to previous ", loc);
+                       if (extra_information.Contains (msg))
+                               return;
+
+                       extra_information.Add (msg);
                }
 
                public static void ExtraInformation (Location loc, string msg)