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-02-27 01:08:10 +0300
committerJoel Martinez <joelmartinez@gmail.com>2018-02-27 01:08:10 +0300
commitfc495281b7cbd2f1e26260207db5106c76964683 (patch)
tree63fa7d224ee7964ffbfc060dcce171da46c41f42
parent6f964ddecac7d93e2a057967c35c0683aa3bc8db (diff)
mdoc: improves stability and error handling of c++ formattersmdoc-5.5-test2
-rw-r--r--mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs6
-rw-r--r--mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs2
-rw-r--r--mdoc/Mono.Documentation/Updater/Frameworks/FrameworkTypeEntry.cs2
3 files changed, 7 insertions, 3 deletions
diff --git a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs
index 66774adc..2bc8cc7c 100644
--- a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs
+++ b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppCxFullMemberFormatter.cs
@@ -508,7 +508,11 @@ namespace Mono.Documentation.Updater.Formatters.CppFormatters
try
{
var typedef = fdef.FieldType.Resolve();
- isEnumFieldType = typedef.IsEnum;
+
+ if (typedef != null)
+ isEnumFieldType = typedef.IsEnum;
+ else
+ isEnumFieldType = false;
}
catch
{
diff --git a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs
index f6749605..e64e3458 100644
--- a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs
+++ b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs
@@ -547,7 +547,7 @@ namespace Mono.Documentation.Updater.Formatters.CppFormatters
TypeReference declDef;
try
{
- declDef = decl.Resolve();
+ declDef = decl.Resolve() ?? decl;
}
catch
{
diff --git a/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkTypeEntry.cs b/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkTypeEntry.cs
index 14bbfe43..aaf3b322 100644
--- a/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkTypeEntry.cs
+++ b/mdoc/Mono.Documentation/Updater/Frameworks/FrameworkTypeEntry.cs
@@ -48,7 +48,7 @@ namespace Mono.Documentation.Updater.Frameworks
try {
var sig = formatter.GetDeclaration (member);
memberscsharpsig.Add(sig);
- if (!sigMap.ContainsKey (sig))
+ if (sig != null && !sigMap.ContainsKey (sig))
sigMap.Add (sig, true);
}
catch {}