diff options
author | Joel Martinez <joelmartinez@gmail.com> | 2018-02-27 01:08:10 +0300 |
---|---|---|
committer | Joel Martinez <joelmartinez@gmail.com> | 2018-02-27 01:08:10 +0300 |
commit | fc495281b7cbd2f1e26260207db5106c76964683 (patch) | |
tree | 63fa7d224ee7964ffbfc060dcce171da46c41f42 | |
parent | 6f964ddecac7d93e2a057967c35c0683aa3bc8db (diff) |
mdoc: improves stability and error handling of c++ formattersmdoc-5.5-test2
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 {} |