if (t == typeof (AnonymousMethodBody))
return "anonymous method";
+ if (t == null)
+ return "internal error";
+
return CSharpName (GetFullName (t));
- }
+ }
static readonly char [] elements = new char [] { '*', '[' };
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 ();
}
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);
static void Error_FriendAccessNameNotMatching (string other_name)
{
- Report.Error (281, "Friend access was granted to `" + other_name +
- "', but the output assembly is named `" + CodeGen.Assembly.Name.FullName +
- "'. Try adding a reference to `" + other_name +
- "' or change the output assembly name to match it");
+ 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);
}
#endif