Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/api-doc-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Martinez <joelmartinez@gmail.com>2018-03-08 01:20:32 +0300
committerJoel Martinez <joelmartinez@gmail.com>2018-03-08 01:20:32 +0300
commitdc052209a2f56b8d872c577bcbd419fc2cd39d98 (patch)
tree2dc86594e3ada659c9e06d261681074854c8d0b4
parentaaf1318412f1db1fb0dcebf037a0bbfffca2c42d (diff)
resolvers are now static. better error handling in c++ formattermdoc-5.5.1-preview4
-rw-r--r--mdoc/Consts.cs2
-rw-r--r--mdoc/Mono.Documentation/MDocUpdater.cs1
-rw-r--r--mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs4
-rw-r--r--mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs12
4 files changed, 10 insertions, 9 deletions
diff --git a/mdoc/Consts.cs b/mdoc/Consts.cs
index 60ac5ceb..e87bc790 100644
--- a/mdoc/Consts.cs
+++ b/mdoc/Consts.cs
@@ -3,7 +3,7 @@ namespace Mono.Documentation
{
public static class Consts
{
- public static string MonoVersion = "5.5.1.1-preview3";
+ public static string MonoVersion = "5.5.1.1-preview4";
public const string DocId = "DocId";
public const string CppCli = "C++ CLI";
public const string CppCx = "C++ CX";
diff --git a/mdoc/Mono.Documentation/MDocUpdater.cs b/mdoc/Mono.Documentation/MDocUpdater.cs
index 074967a5..eecebb2c 100644
--- a/mdoc/Mono.Documentation/MDocUpdater.cs
+++ b/mdoc/Mono.Documentation/MDocUpdater.cs
@@ -310,6 +310,7 @@ namespace Mono.Documentation
string[] prefixesToAvoid = { "get_", "set_", "add_", "remove_", "raise_" };
foreach (var assemblySet in this.assemblies)
{
+ using (assemblySet)
{
Console.Write (".");
foreach (var assembly in assemblySet.Assemblies)
diff --git a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs
index 2bc8cc7c..99db15a2 100644
--- a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs
+++ b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs
@@ -403,7 +403,7 @@ namespace Mono.Documentation.Updater.Formatters.CppFormatters
}
if (typedef.IsValueType && !typedef.IsEnum && typedef.Fields.Any(x =>
- !ValueClassPropertyTypeAllowed.Contains(x.FieldType.FullName) && !x.FieldType.Resolve().IsEnum))
+ !ValueClassPropertyTypeAllowed.Contains(x.FieldType.FullName) && !(x.FieldType.Resolve() != null && x.FieldType.Resolve().IsEnum)))
{
//A value struct or value class can contain as fields only
//fundamental numeric types, enum classes, Platform::String^, or Platform::IBox <T>^
@@ -418,7 +418,7 @@ namespace Mono.Documentation.Updater.Formatters.CppFormatters
condition = IsCustomAttribute(typedef)
&& (typedef.Fields.Any(z =>
!CustomAttributesFieldTypesAllowed.Contains(z.FieldType.FullName)
- && !z.FieldType.Resolve().IsEnum
+ && !(z.FieldType.Resolve() != null && z.FieldType.Resolve().IsEnum)
)
|| typedef.Properties.Count != 0
|| typedef.Methods.Count(x => !x.IsConstructor) != 0
diff --git a/mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs b/mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs
index 70d9483e..6affe4cd 100644
--- a/mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs
+++ b/mdoc/Mono.Documentation/Updater/Frameworks/AssemblySet.cs
@@ -12,9 +12,9 @@ namespace Mono.Documentation.Updater.Frameworks
/// </summary>
class AssemblySet : IDisposable
{
- readonly BaseAssemblyResolver resolver = new Frameworks.MDocResolver ();
- IAssemblyResolver cachedResolver;
- IMetadataResolver metadataResolver;
+ static readonly BaseAssemblyResolver resolver = new Frameworks.MDocResolver ();
+ static IAssemblyResolver cachedResolver;
+ static IMetadataResolver metadataResolver;
HashSet<string> assemblyPaths = new HashSet<string> ();
Dictionary<string, bool> assemblyPathsMap = new Dictionary<string, bool> ();
@@ -27,8 +27,8 @@ namespace Mono.Documentation.Updater.Frameworks
public AssemblySet (string name, IEnumerable<string> paths, IEnumerable<string> resolverSearchPaths, IEnumerable<string> imports = null, string version = null, string id = null)
{
- this.cachedResolver = new CachedResolver (this.resolver);
- this.metadataResolver = new Frameworks.MDocMetadataResolver (this.cachedResolver);
+ cachedResolver = cachedResolver ?? new CachedResolver (resolver);
+ metadataResolver = metadataResolver ?? new Frameworks.MDocMetadataResolver (cachedResolver);
Name = name;
Version = version;
@@ -130,7 +130,7 @@ namespace Mono.Documentation.Updater.Frameworks
IEnumerable<AssemblyDefinition> LoadAllAssemblies ()
{
foreach (var path in this.assemblyPaths) {
- var assembly = MDocUpdater.Instance.LoadAssembly (path, this.metadataResolver, this.cachedResolver);
+ var assembly = MDocUpdater.Instance.LoadAssembly (path, metadataResolver, cachedResolver);
if (assembly != null) {
foreach (var type in assembly.MainModule.ExportedTypes.Where (t => t.IsForwarder).Select (t => t.FullName))
forwardedTypes.Add (type);