X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2Fclass.cs;h=081adb9b789715812040226a8604da92fdc7ee8a;hb=7ade5f7d7bfc484e977c0d059905a62f3b88b135;hp=9c841a2140fadfae8c2b9bb4665d818590b08063;hpb=b50017eba3a83ecbb495f4c698531696df043b78;p=mono.git diff --git a/mcs/mcs/class.cs b/mcs/mcs/class.cs index 9c841a2140f..081adb9b789 100644 --- a/mcs/mcs/class.cs +++ b/mcs/mcs/class.cs @@ -359,12 +359,8 @@ namespace Mono.CSharp return MemberName.GetSignatureForError (); } - public string GetSignatureForMetadata () + public virtual string GetSignatureForMetadata () { - if (Parent is TypeDefinition) { - return Parent.GetSignatureForMetadata () + "+" + TypeNameParser.Escape (MemberName.Basename); - } - var sb = new StringBuilder (); CreateMetadataName (sb); return sb.ToString (); @@ -1126,6 +1122,15 @@ namespace Mono.CSharp } } + public override string GetSignatureForMetadata () + { + if (Parent is TypeDefinition) { + return Parent.GetSignatureForMetadata () + "+" + TypeNameParser.Escape (FilterNestedName (MemberName.Basename)); + } + + return base.GetSignatureForMetadata (); + } + public virtual void SetBaseTypes (List baseTypes) { type_bases = baseTypes; @@ -1725,21 +1730,14 @@ namespace Mono.CSharp foreach (var member in members) { var pbm = member as PropertyBasedMember; - if (pbm != null) + if (pbm != null) { pbm.PrepareEmit (); + continue; + } - var pm = member as IParametersMember; - if (pm != null) { - var mc = member as MethodOrOperator; - if (mc != null) { - mc.PrepareEmit (); - } - - var p = pm.Parameters; - if (p.IsEmpty) - continue; - - ((ParametersCompiled) p).ResolveDefaultValues (member); + var mc = member as MethodCore; + if (mc != null) { + mc.PrepareEmit (); continue; } @@ -1804,6 +1802,10 @@ namespace Mono.CSharp this.spec = spec; current_type = null; + if (class_partial_parts != null) { + foreach (var part in class_partial_parts) + part.spec = spec; + } } public override void RemoveContainer (TypeContainer cont) @@ -3025,7 +3027,7 @@ namespace Mono.CSharp if (ff == null) continue; - ff.CharSet = (CharSet) System.Enum.Parse (typeof (CharSet), value.GetValue ().ToString ()); + ff.CharSetValue = (CharSet) System.Enum.Parse (typeof (CharSet), value.GetValue ().ToString ()); } } } @@ -3714,7 +3716,7 @@ namespace Mono.CSharp public override string GetSignatureForDocumentation () { if (IsExplicitImpl) - return Parent.GetSignatureForDocumentation () + "." + InterfaceType.GetExplicitNameSignatureForDocumentation () + "#" + ShortName; + return Parent.GetSignatureForDocumentation () + "." + InterfaceType.GetSignatureForDocumentation (true) + "#" + ShortName; return Parent.GetSignatureForDocumentation () + "." + ShortName; }