Nothing to see here
[mono.git] / mcs / mcs / typemanager.cs
index 10341794077eea9c69476b966a1baac1966af956..4ee2508abedac106cabb08e1ba73a8e4b8246767 100644 (file)
@@ -773,8 +773,14 @@ namespace Mono.CSharp {
                if (!mb.IsConstructor && TypeManager.IsSpecialMethod (mb)) {
                        string op_name = Operator.GetName (mb.Name);
                        if (op_name != null) {
-                               sig.Append ("operator ");
-                               sig.Append (op_name);
+                               if (op_name == "explicit" || op_name == "implicit") {
+                                       sig.Append (op_name);
+                                       sig.Append (" operator ");
+                                       sig.Append (CSharpName (((MethodInfo)mb).ReturnType));
+                               } else {
+                                       sig.Append ("operator ");
+                                       sig.Append (op_name);
+                               }
                                sig.Append (parameters);
                                return sig.ToString ();
                        }
@@ -1082,7 +1088,7 @@ namespace Mono.CSharp {
                if (obsolete_attribute_type != null) {
                        Class c = TypeManager.LookupClass (obsolete_attribute_type);
                        if (c != null)
-                               c.DefineMembers ();
+                               c.Define ();
                }
 
                dllimport_type = CoreLookupType ("System.Runtime.InteropServices", "DllImportAttribute", Kind.Class, false);
@@ -1697,8 +1703,8 @@ namespace Mono.CSharp {
        static void Error_FriendAccessNameNotMatching (string other_name)
        {
                Report.Error (281,
-                             "Friend access was granted to `{0}', but the output assembly is named `{1}'.  Try adding a reference to `{0}' " +
-                             " or change the output assembly name to match it", other_name, CodeGen.Assembly.Name.FullName);
+                       "Friend access was granted to `{0}', but the output assembly is named `{1}'. Try adding a reference to `{0}' or change the output assembly name to match it",
+                       other_name, CodeGen.Assembly.Name.FullName);
        }
 #endif