X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2Freport.cs;h=3ca7fd681ea6c8f72c30415f38fc3327156da84d;hb=732841a4f171062563a831fb8cd3165be1ddfd6e;hp=77058a17208e6acf67e085ff7297d1028f83790c;hpb=fd1f72583ca03300585ce11dcee622b009286747;p=mono.git diff --git a/mcs/mcs/report.cs b/mcs/mcs/report.cs index 77058a17208..3ca7fd681ea 100644 --- a/mcs/mcs/report.cs +++ b/mcs/mcs/report.cs @@ -179,35 +179,17 @@ namespace Mono.CSharp { SymbolRelatedToPreviousError (loc.ToString (), symbol); } - public void SymbolRelatedToPreviousError (MemberInfo mi) + public void SymbolRelatedToPreviousError (MemberSpec ms) { if (reporting_disabled > 0 || !printer.HasRelatedSymbolSupport) return; - Type dt = TypeManager.DropGenericTypeArguments (mi.DeclaringType); - if (TypeManager.IsDelegateType (dt)) { - SymbolRelatedToPreviousError (dt); - return; - } - - DeclSpace temp_ds = TypeManager.LookupDeclSpace (dt); - if (temp_ds == null) { - SymbolRelatedToPreviousError (dt.Assembly.Location, TypeManager.GetFullNameSignature (mi)); + var mc = ms.MemberDefinition as MemberCore; + if (mc != null) { + SymbolRelatedToPreviousError (mc); } else { - MethodBase mb = mi as MethodBase; - if (mb != null) { - mb = TypeManager.DropGenericMethodArguments (mb); - IMethodData md = TypeManager.GetMethod (mb); - if (md != null) - SymbolRelatedToPreviousError (md.Location, md.GetSignatureForError ()); - - return; - } - - // FIXME: Completely wrong, it has to use FindMembers - MemberCore mc = temp_ds.GetDefinition (mi.Name); - if (mc != null) - SymbolRelatedToPreviousError (mc); + var im = ms.MemberDefinition as ImportedMemberDefinition; + SymbolRelatedToPreviousError (im.Assembly.Location, ""); } } @@ -216,31 +198,6 @@ namespace Mono.CSharp { SymbolRelatedToPreviousError (mc.Location, mc.GetSignatureForError ()); } - public void SymbolRelatedToPreviousError (Type type) - { - if (reporting_disabled > 0 || !printer.HasRelatedSymbolSupport) - return; - - type = TypeManager.DropGenericTypeArguments (type); - - if (TypeManager.IsGenericParameter (type)) { - TypeParameter tp = TypeManager.LookupTypeParameter (type); - if (tp != null) { - SymbolRelatedToPreviousError (tp.Location, ""); - return; - } - } - - if (type is TypeBuilder) { - DeclSpace temp_ds = TypeManager.LookupDeclSpace (type); - SymbolRelatedToPreviousError (temp_ds.Location, TypeManager.CSharpName (type)); - } else if (TypeManager.HasElementType (type)) { - SymbolRelatedToPreviousError (TypeManager.GetElementType (type)); - } else { - SymbolRelatedToPreviousError (type.Assembly.Location, TypeManager.CSharpName (type)); - } - } - void SymbolRelatedToPreviousError (string loc, string symbol) { string msg = String.Format ("{0} (Location of the symbol related to previous ", loc); @@ -404,7 +361,7 @@ namespace Mono.CSharp { Error (code, loc, String.Format (format, arg1, arg2)); } - public void Error (int code, Location loc, string format, params object[] args) + public void Error (int code, Location loc, string format, params string[] args) { Error (code, loc, String.Format (format, args)); } @@ -956,8 +913,8 @@ namespace Mono.CSharp { if (!first) sb.Append (", "); first = false; - - sb.Append (TypeManager.CSharpName (pi.ParameterType)); + + sb.Append (pi.ParameterType.FullName); } sb.Append (")\n"); }