diff options
author | Marek Safar <masafa@microsoft.com> | 2016-08-03 12:07:33 +0300 |
---|---|---|
committer | Duncan Mak <duncanm@microsoft.com> | 2016-10-08 03:31:23 +0300 |
commit | e3220b64c7ffe42d32edf3119a7ffa8816fbd55a (patch) | |
tree | fb66b0f8aae146a493e061490f26c1f43fc2af59 /mdoc | |
parent | f9c564c0d92fb9820e7033aca169406c894d8b38 (diff) |
[bcl] Reflect cecil breaking changes
Diffstat (limited to 'mdoc')
-rw-r--r-- | mdoc/Makefile | 7 | ||||
-rw-r--r-- | mdoc/Mono.Documentation/exceptions.cs | 5 | ||||
-rw-r--r-- | mdoc/Mono.Documentation/monodocer.cs | 53 |
3 files changed, 19 insertions, 46 deletions
diff --git a/mdoc/Makefile b/mdoc/Makefile index c319f54e..aa235d31 100644 --- a/mdoc/Makefile +++ b/mdoc/Makefile @@ -16,7 +16,7 @@ MDOC_COMMON_FLAGS = \ LIB_REFS = monodoc System System.Xml System.Core Mono.Cecil ICSharpCode.SharpZipLib System.Xml.Linq System.Web LOCAL_MCS_FLAGS = $(MDOC_COMMON_FLAGS) -PROGRAM = mdoc.exe +PROGRAM = $(topdir)/class/lib/$(PROFILE)/mdoc.exe PROGRAM_DEPS = $(topdir)/class/lib/$(PROFILE)/monodoc.dll ifdef NET @@ -66,11 +66,6 @@ PROGRAM_COMPILE = $(CSCOMPILE) -platform:x86 include ../../build/executable.make -$(PROGRAM) : $(build_lib) - cp $< $@ - -$(PROGRAM) : Makefile - MONO = \ MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" \ $(RUNTIME) $(RUNTIME_FLAGS) diff --git a/mdoc/Mono.Documentation/exceptions.cs b/mdoc/Mono.Documentation/exceptions.cs index 59198708..23b6762a 100644 --- a/mdoc/Mono.Documentation/exceptions.cs +++ b/mdoc/Mono.Documentation/exceptions.cs @@ -74,7 +74,8 @@ namespace Mono.Documentation { get { if (member == null) throw new ArgumentNullException ("member"); - MemberReference memberDef = member.Resolve (); + + var memberDef = member.Resolve (); if (memberDef == null) { ArrayType array = member.DeclaringType as ArrayType; if (array != null && array.Rank > 1) { @@ -87,7 +88,7 @@ namespace Mono.Documentation { "Unable to resolve member {0}::{1}.", member.DeclaringType.FullName, member.Name)); } - string memberDecl = xdoc.GetDeclaration (member.Resolve ()); + string memberDecl = xdoc.GetDeclaration (member); Dictionary<string, ExceptionSources> e; if (!db.TryGetValue (memberDecl, out e)) { e = new Dictionary<string, ExceptionSources> (); diff --git a/mdoc/Mono.Documentation/monodocer.cs b/mdoc/Mono.Documentation/monodocer.cs index dc94c3a5..8b5b5ab0 100644 --- a/mdoc/Mono.Documentation/monodocer.cs +++ b/mdoc/Mono.Documentation/monodocer.cs @@ -3007,26 +3007,6 @@ static class CecilExtensions { return method.GenericParameters.Count > 0; } - public static MemberReference Resolve (this MemberReference member) - { - FieldReference fr = member as FieldReference; - if (fr != null) - return fr.Resolve (); - MethodReference mr = member as MethodReference; - if (mr != null) - return mr.Resolve (); - TypeReference tr = member as TypeReference; - if (tr != null) - return tr.Resolve (); - PropertyReference pr = member as PropertyReference; - if (pr != null) - return pr; - EventReference er = member as EventReference; - if (er != null) - return er; - throw new NotSupportedException ("Cannot find definition for " + member.ToString ()); - } - public static TypeReference GetUnderlyingType (this TypeDefinition type) { if (!type.IsEnum) @@ -3256,7 +3236,8 @@ static class DocUtils { { HashSet<string> inheritedInterfaces = GetInheritedInterfaces (type); List<TypeReference> userInterfaces = new List<TypeReference> (); - foreach (TypeReference iface in type.Interfaces) { + foreach (var ii in type.Interfaces) { + var iface = ii.InterfaceType; TypeReference lookup = iface.Resolve () ?? iface; if (!inheritedInterfaces.Contains (GetQualifiedTypeName (lookup))) userInterfaces.Add (iface); @@ -3275,9 +3256,9 @@ static class DocUtils { Action<TypeDefinition> a = null; a = t => { if (t == null) return; - foreach (TypeReference r in t.Interfaces) { - inheritedInterfaces.Add (GetQualifiedTypeName (r)); - a (r.Resolve ()); + foreach (var r in t.Interfaces) { + inheritedInterfaces.Add (GetQualifiedTypeName (r.InterfaceType)); + a (r.InterfaceType.Resolve ()); } }; TypeReference baseRef = type.BaseType; @@ -3290,8 +3271,8 @@ static class DocUtils { else baseRef = null; } - foreach (TypeReference r in type.Interfaces) - a (r.Resolve ()); + foreach (var r in type.Interfaces) + a (r.InterfaceType.Resolve ()); return inheritedInterfaces; } } @@ -4366,8 +4347,13 @@ public abstract class MemberFormatter { { return e.Name; } + + public string GetDeclaration (MemberReference mreference) + { + return GetDeclaration (mreference.Resolve ()); + } - public virtual string GetDeclaration (MemberReference member) + string GetDeclaration (IMemberDefinition member) { if (member == null) throw new ArgumentNullException ("member"); @@ -4631,8 +4617,8 @@ class ILFullMemberFormatter : MemberFormatter { buf.Append (full.GetName (type.BaseType).Substring ("class ".Length)); } bool first = true; - foreach (var name in type.Interfaces.Where (i => MDocUpdater.IsPublic (i.Resolve ())) - .Select (i => full.GetName (i)) + foreach (var name in type.Interfaces.Where (i => MDocUpdater.IsPublic (i.InterfaceType.Resolve ())) + .Select (i => full.GetName (i.InterfaceType)) .OrderBy (n => n)) { if (first) { buf.Append (" implements "); @@ -5684,15 +5670,6 @@ class SlashDocMemberFormatter : MemberFormatter { return buf; } - public override string GetDeclaration (MemberReference member) - { - TypeReference r = member as TypeReference; - if (r != null) { - return "T:" + GetTypeName (r); - } - return base.GetDeclaration (member); - } - protected override string GetConstructorName (MethodReference constructor) { return GetMethodDefinitionName (constructor, "#ctor"); |