Skip to content

Instantly share code, notes, and snippets.

@NattyNarwhal
Created August 21, 2019 13:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NattyNarwhal/b4945bc5e1f5213d5eaa8303261416bd to your computer and use it in GitHub Desktop.
Save NattyNarwhal/b4945bc5e1f5213d5eaa8303261416bd to your computer and use it in GitHub Desktop.
diff --git a/mdoc/Mono.Documentation/Updater/DocUtils.cs b/mdoc/Mono.Documentation/Updater/DocUtils.cs
index b0ea1a1..a10ed6e 100644
--- a/mdoc/Mono.Documentation/Updater/DocUtils.cs
+++ b/mdoc/Mono.Documentation/Updater/DocUtils.cs
@@ -291,8 +291,8 @@ namespace Mono.Documentation.Updater
{
bool IEqualityComparer<TypeReference>.Equals (TypeReference x, TypeReference y)
{
- if (x is null && y is null) return true;
- if (x is null || y is null) return false;
+ if (x == null && y == null) return true;
+ if (x == null || y == null) return false;
return x.FullName == y.FullName;
}
@@ -312,7 +312,7 @@ namespace Mono.Documentation.Updater
private static IEnumerable<TypeReference> GetAllInterfacesFromType(TypeDefinition type)
{
- if (type is null)
+ if (type == null)
yield break;
foreach(var i in type.Interfaces)
@@ -510,26 +510,29 @@ namespace Mono.Documentation.Updater
FillUnifiedMemberTypeNames(unifiedTypeNames, memberReference as IGenericParameterProvider);// Fill the member generic parameters unified names as M0, M1....
FillUnifiedTypeNames(unifiedTypeNames, memberReference.DeclaringType, genericInterface);// Fill the type generic parameters unified names as T0, T1....
- switch (memberReference)
- {
- case IMethodSignature methodSignature:
- buf.Append(GetUnifiedTypeName(methodSignature.ReturnType, unifiedTypeNames)).Append(" ");
- buf.Append(SimplifyName(memberReference.Name)).Append(" ");
- AppendParameters(buf, methodSignature.Parameters, unifiedTypeNames);
- break;
- case PropertyDefinition propertyReference:
- buf.Append(GetUnifiedTypeName(propertyReference.PropertyType, unifiedTypeNames)).Append(" ");
- if (propertyReference.GetMethod != null)
- buf.Append("get").Append(" ");
- if (propertyReference.SetMethod != null)
- buf.Append("set").Append(" ");
- buf.Append(SimplifyName(memberReference.Name)).Append(" ");
- AppendParameters(buf, propertyReference.Parameters, unifiedTypeNames);
- break;
- case EventDefinition eventReference:
- buf.Append(GetUnifiedTypeName(eventReference.EventType, unifiedTypeNames)).Append(" ");
- buf.Append(SimplifyName(memberReference.Name)).Append(" ");
- break;
+ if (memberReference is IMethodSignature)
+ {
+ IMethodSignature methodSignature = (IMethodSignature)memberReference;
+ buf.Append(GetUnifiedTypeName(methodSignature.ReturnType, unifiedTypeNames)).Append(" ");
+ buf.Append(SimplifyName(memberReference.Name)).Append(" ");
+ AppendParameters(buf, methodSignature.Parameters, unifiedTypeNames);
+ }
+ if (memberReference is PropertyDefinition)
+ {
+ PropertyDefinition propertyReference = (PropertyDefinition)memberReference;
+ buf.Append(GetUnifiedTypeName(propertyReference.PropertyType, unifiedTypeNames)).Append(" ");
+ if (propertyReference.GetMethod != null)
+ buf.Append("get").Append(" ");
+ if (propertyReference.SetMethod != null)
+ buf.Append("set").Append(" ");
+ buf.Append(SimplifyName(memberReference.Name)).Append(" ");
+ AppendParameters(buf, propertyReference.Parameters, unifiedTypeNames);
+ }
+ if (memberReference is EventDefinition)
+ {
+ EventDefinition eventReference = (EventDefinition)memberReference;
+ buf.Append(GetUnifiedTypeName(eventReference.EventType, unifiedTypeNames)).Append(" ");
+ buf.Append(SimplifyName(memberReference.Name)).Append(" ");
}
var memberUnifiedTypeNames = new Dictionary<string, string>();
@@ -651,14 +654,20 @@ namespace Mono.Documentation.Updater
/// </summary>
private static Collection<MethodReference> GetOverrides(MemberReference memberReference)
{
- switch (memberReference)
+ if (memberReference is MethodDefinition)
+ {
+ MethodDefinition methodDefinition = (MethodDefinition)memberReference;
+ return methodDefinition.Overrides;
+ }
+ if (memberReference is PropertyDefinition)
+ {
+ PropertyDefinition propertyDefinition = (PropertyDefinition)memberReference;
+ return (propertyDefinition.GetMethod ?? propertyDefinition.SetMethod)?.Overrides;
+ }
+ if (memberReference is EventDefinition)
{
- case MethodDefinition methodDefinition:
- return methodDefinition.Overrides;
- case PropertyDefinition propertyDefinition:
- return (propertyDefinition.GetMethod ?? propertyDefinition.SetMethod)?.Overrides;
- case EventDefinition evendDefinition:
- return evendDefinition.AddMethod.Overrides;
+ EventDefinition evendDefinition = (EventDefinition)memberReference;
+ return evendDefinition.AddMethod.Overrides;
}
return null;
@@ -677,4 +686,4 @@ namespace Mono.Documentation.Updater
return method.Name.StartsWith("op_", StringComparison.Ordinal);
}
}
-}
\ No newline at end of file
+}
diff --git a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs
index ca51cf8..1953b26 100644
--- a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs
+++ b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs
@@ -1022,20 +1022,16 @@ namespace Mono.Documentation.Updater.Formatters.CppFormatters
if (mref.IsDefinition == false)
mref = mref.Resolve() as MemberReference;
- switch (mref)
- {
- case FieldDefinition field:
- return IsSupportedField(field);
- case MethodDefinition method:
- return IsSupportedMethod(method);
- case PropertyDefinition property:
- return IsSupportedProperty(property);
- case EventDefinition @event:
- return IsSupportedEvent(@event);
- case AttachedPropertyDefinition _:
- case AttachedEventDefinition _:
- return false;
- }
+ if (mref is FieldDefinition)
+ return IsSupportedField((FieldDefinition)mref);
+ else if (mref is MethodDefinition)
+ return IsSupportedMethod((MethodDefinition)mref);
+ else if (mref is PropertyDefinition)
+ return IsSupportedProperty((PropertyDefinition)mref);
+ else if (mref is EventDefinition)
+ return IsSupportedEvent((EventDefinition)mref);
+ else if (mref is AttachedPropertyDefinition || mref is AttachedEventDefinition)
+ return false;
throw new NotSupportedException("Unsupported member type: " + mref?.GetType().FullName);
}
@@ -1112,4 +1108,4 @@ namespace Mono.Documentation.Updater.Formatters.CppFormatters
return true;
}
}
-}
\ No newline at end of file
+}
diff --git a/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs
index 6560bd2..1e55cd5 100644
--- a/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs
+++ b/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs
@@ -1024,9 +1024,9 @@ namespace Mono.Documentation.Updater
}
return false;
}
- switch (mref)
+ if (mref is MethodDefinition)
{
- case MethodDefinition method:
+ MethodDefinition method = (MethodDefinition)mref;
return !(method.HasCustomAttributes && method.CustomAttributes.Any(
ca => ca.GetDeclaringType() ==
"System.Diagnostics.Contracts.ContractInvariantMethodAttribute"
diff --git a/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs
index 0781cd5..12c2713 100644
--- a/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs
+++ b/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs
@@ -65,23 +65,22 @@ namespace mdoc.Mono.Documentation.Updater.Formatters
public override bool IsSupported(MemberReference mref)
{
- switch (mref)
+ if (mref is PropertyDefinition)
{
- case PropertyDefinition propertyDefinition:
- if (!IsPropertySupported(propertyDefinition))
- return false;
- break;
- case MethodDefinition methodDefinition:
- if (!IsMethodSupported(methodDefinition))
- return false;
- break;
- case FieldDefinition _:
- return false;// In WinRT fields can be exposed only by structures.
- case AttachedEventDefinition _:
+ PropertyDefinition propertyDefinition = (PropertyDefinition)mref;
+ if (!IsPropertySupported(propertyDefinition))
return false;
- case AttachedPropertyDefinition _:
+ }
+ else if (mref is MethodDefinition)
+ {
+ MethodDefinition methodDefinition = (MethodDefinition)mref;
+ if (!IsMethodSupported(methodDefinition))
return false;
}
+ else if (mref is FieldDefinition // In WinRT fields can be exposed only by structures.
+ || mref is AttachedEventDefinition
+ || mref is AttachedPropertyDefinition)
+ return false;
var member = mref.Resolve();
return member != null
@@ -166,4 +165,4 @@ namespace mdoc.Mono.Documentation.Updater.Formatters
return fullName;
}
}
-}
\ No newline at end of file
+}
diff --git a/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs
index b3c1b97..58cd607 100644
--- a/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs
+++ b/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs
@@ -53,12 +53,9 @@ namespace mdoc.Mono.Documentation.Updater.Formatters
public override bool IsSupported(MemberReference mref)
{
- switch (mref)
+ if (mref is PropertyDefinition || mref is EventDefinition)
{
- case PropertyDefinition _:
- return false;
- case EventDefinition _:
- return false;
+ return false;
}
return base.IsSupported(mref);
}
@@ -77,4 +74,4 @@ namespace mdoc.Mono.Documentation.Updater.Formatters
return base.IsSupported(tref);
}
}
-}
\ No newline at end of file
+}
diff --git a/docs/docs.make b/docs/docs.make
index 13d82f16ed9..aaef10a8cea 100644
--- a/docs/docs.make
+++ b/docs/docs.make
@@ -18,27 +18,6 @@ convert.exe: $(srcdir)/convert.cs AgilityPack.dll
AgilityPack.dll:
$(CSCOMPILE) -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll -r:$(topdir)/class/lib/$(PROFILE)/System.dll -r:$(topdir)/class/lib/$(PROFILE)/System.Xml.dll -target:library -out:$@ $(srcdir)/HtmlAgilityPack/*.cs
-ifdef MCS_MODE
-monoapi.zip:
- touch $@
-
-monoapi.tree: monoapi.zip
- touch $@
-
-mono-tools.zip:
- touch $@
-
-mono-tools.tree: mono-tools.zip
- touch $@
-
-mono-file-formats.zip:
- touch $@
-
-mono-file-formats.tree: mono-file-formats.zip
- touch $@
-
-else
-
monoapi.zip: monoapi.tree
@test -f $@ || { rm -f $< && $(MAKE) $<; }
@@ -57,7 +36,5 @@ mono-file-formats.zip: mono-file-formats.tree
mono-file-formats.tree: $(srcdir)/mono-file-formats.config $(srcdir)/docs.make
$(MDOC) assemble -o mono-file-formats -f man $<
-endif
-
.doc-stamp:
diff --git a/external/api-doc-tools b/external/api-doc-tools
--- a/external/api-doc-tools
+++ b/external/api-doc-tools
@@ -1 +1 @@
-Subproject commit 5da8127af9e68c9d58a90aa9de21f57491d81261
+Subproject commit 5da8127af9e68c9d58a90aa9de21f57491d81261-dirty
diff --git a/mcs/docs/Makefile b/mcs/docs/Makefile
index 92e8f2adbe5..88bddb66268 100644
--- a/mcs/docs/Makefile
+++ b/mcs/docs/Makefile
@@ -38,10 +38,6 @@ DISABLE_MCS_DOCS = yes
endif
endif
-ifdef MCS_MODE
-DISABLE_MCS_DOCS = yes
-endif
-
csproj-local test-local run-test-local run-test-ondotnet-local doc-update:
clean-local:
diff --git a/mcs/tools/mdoc/Makefile b/mcs/tools/mdoc/Makefile
index e3c5a321d1a..00820361636 100644
--- a/mcs/tools/mdoc/Makefile
+++ b/mcs/tools/mdoc/Makefile
@@ -44,12 +44,6 @@ $(PROGRAM): $(PROGRAM_DEPS)
PROGRAM_COMPILE = $(CSCOMPILE)
-ifdef MCS_MODE
-NO_INSTALL=1
-NO_BUILD=1
-NO_TEST=1
-endif
-
include ../../build/executable.make
MONO = \
@@ -63,6 +57,11 @@ DIFF = diff -rupZ
DIFF_QUIET = diff --brief -Z
endif
+ifdef MCS_MODE
+DIFF = echo "WARNING: running in mcs mode, tests are specific to roslyn and would fail. Skipping diff check."
+DIFF_QUIET = $(DIFF)
+endif
+
dist-local: dist-default dist-tests
dist-tests:
@@ -360,7 +359,7 @@ check-mdoc-export-msxdoc-update:
check-mdoc-export-msxdoc:
$(MONO) $(PROGRAM) export-msxdoc -o - Test/en.expected.importslashdoc \
- | $(DIFF) - Test/msxdoc-expected.importslashdoc.xml
+ | $(DIFF_QUIET) - Test/msxdoc-expected.importslashdoc.xml
my_abs_top_srcdir = $(shell cd . && pwd)
@@ -390,10 +389,6 @@ run-test-local: check-doc-tools
run-test-update : check-doc-tools-update
-ifdef MCS_MODE
-check-doc-tools:
- @echo "WARNING: running in mcs mode, mdoc doesn't compile with mcs. Skipping."
-else
check-doc-tools: \
check-monodocer-since \
check-monodocer-importecmadoc \
@@ -412,7 +407,6 @@ check-doc-tools: \
check-monodocer-dropns-multi-withexisting
#check-monodocer-dropns-delete
-endif
check-doc-tools-update: check-monodocer-since-update \
check-monodocer-importecmadoc-update \
MCS     [net_4_x-linux] mdoc.exe
../../../external/api-doc-tools/mdoc/Mono.Documentation/MDocUpdater.cs(2736,42): warning CS0618: `Mono.Documentation.MDocUpdater.IsPublic(Mono.Cecil.TypeDefinition)' is obsolete: `Use DocUtils.IsPublic instead'
../../../external/api-doc-tools/mdoc/Mono.Documentation/MDocUpdater.cs(3455,18): warning CS0219: The variable `noAttributes' is assigned but its value is never used
../../../external/api-doc-tools/mdoc/Mono.Documentation/MDocUpdater.cs(3456,18): warning CS0219: The variable `currentlyHasAttributes' is assigned but its value is never used
../../../external/api-doc-tools/mdoc/Mono.Documentation/MDocUpdater.cs(3877,29): warning CS0219: The variable `baseType' is assigned but its value is never used
../../../external/api-doc-tools/mdoc/Mono.Documentation/webdoc.cs(171,4): warning CS0618: `ICSharpCode.SharpZipLib.Zip.ZipInputStream' is obsolete: `This assembly has been deprecated. Please use https://www.nuget.org/packages/SharpZipLib/ instead.'
../../../external/api-doc-tools/mdoc/Mono.Documentation/webdoc.cs(171,29): warning CS0618: `ICSharpCode.SharpZipLib.Zip.ZipInputStream' is obsolete: `This assembly has been deprecated. Please use https://www.nuget.org/packages/SharpZipLib/ instead.'
../../../external/api-doc-tools/mdoc/Mono.Documentation/webdoc.cs(173,4): warning CS0618: `ICSharpCode.SharpZipLib.Zip.ZipEntry' is obsolete: `This assembly has been deprecated. Please use https://www.nuget.org/packages/SharpZipLib/ instead.'
../../../external/api-doc-tools/mdoc/Mono.Documentation/Updater/Formatters/ILFullMemberFormatter.cs(184,74): warning CS0618: `Mono.Documentation.MDocUpdater.IsPublic(Mono.Cecil.TypeDefinition)' is obsolete: `Use DocUtils.IsPublic instead'

Unhandled Exception:
Mono.CSharp.InternalErrorException: ../../../external/api-doc-tools/mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs(235,53): Mono.Documentation.Updater.DocumentationEnumerator.GetReflectionMembersCore(Mono.Cecil.TypeDefinition, string, string) ---> Mono.CSharp.InternalErrorException: (1,1): ---> Mono.CSharp.InternalErrorException: ../../../external/api-doc-tools/mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs(236,9): Mono.Documentation.Updater.DocumentationEnumerator.<GetReflectionMembersCore>c__Iterator2.<iface>__10 ---> System.NullReferenceException: Object reference not set to an instance of an object
  at IKVM.Reflection.Signature.WriteType (IKVM.Reflection.Emit.ModuleBuilder module, IKVM.Reflection.Writer.ByteBuffer bb, IKVM.Reflection.Type type) [0x000b6] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at IKVM.Reflection.FieldSignature.WriteSig (IKVM.Reflection.Emit.ModuleBuilder module, IKVM.Reflection.Writer.ByteBuffer bb) [0x00014] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at IKVM.Reflection.Emit.FieldBuilder..ctor (IKVM.Reflection.Emit.TypeBuilder type, System.String name, IKVM.Reflection.Type fieldType, IKVM.Reflection.CustomModifiers customModifiers, IKVM.Reflection.FieldAttributes attribs) [0x00062] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at IKVM.Reflection.Emit.TypeBuilder.__DefineField (System.String fieldName, IKVM.Reflection.Type type, IKVM.Reflection.CustomModifiers customModifiers, IKVM.Reflection.FieldAttributes attributes) [0x00000] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at IKVM.Reflection.Emit.TypeBuilder.DefineField (System.String fieldName, IKVM.Reflection.Type type, IKVM.Reflection.Type[] requiredCustomModifiers, IKVM.Reflection.Type[] optionalCustomModifiers, IKVM.Reflection.FieldAttributes attributes) [0x0000b] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Field.Define () [0x00076] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeDefinition.DoDefineMembers () [0x0033a] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
   --- End of inner exception stack trace ---
  at Mono.CSharp.TypeDefinition.DoDefineMembers () [0x0035b] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ClassOrStruct.DoDefineMembers () [0x000e9] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.CompilerGeneratedContainer.DoDefineMembers () [0x00033] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.StateMachine.DoDefineMembers () [0x0002c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.IteratorStorey.DoDefineMembers () [0x0022a] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeDefinition.Define () [0x00012] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ExplicitBlock.DefineStoreyContainer (Mono.CSharp.EmitContext ec, Mono.CSharp.AnonymousMethodStorey storey) [0x004db] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ParametersBlock.Emit (Mono.CSharp.EmitContext ec) [0x0001c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00026] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
   --- End of inner exception stack trace ---
  at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x000df] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.MethodData.Emit (Mono.CSharp.TypeDefinition parent) [0x00092] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.MethodOrOperator.Emit () [0x0021c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Method.Emit () [0x0012c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
   --- End of inner exception stack trace ---
  at Mono.CSharp.Method.Emit () [0x00141] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeDefinition.Emit () [0x002f5] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ClassOrStruct.Emit () [0x00025] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Class.Emit () [0x00000] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeDefinition.EmitContainer () [0x0000f] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x0001e] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00007] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x0001e] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00007] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x0001e] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ModuleContainer.EmitContainer () [0x0009c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.AssemblyDefinition.Emit () [0x00098] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x00126] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Driver.Compile () [0x002f3] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00052] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: Mono.CSharp.InternalErrorException: ../../../external/api-doc-tools/mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs(235,53): Mono.Documentation.Updater.DocumentationEnumerator.GetReflectionMembersCore(Mono.Cecil.TypeDefinition, string, string) ---> Mono.CSharp.InternalErrorException: (1,1): ---> Mono.CSharp.InternalErrorException: ../../../external/api-doc-tools/mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs(236,9): Mono.Documentation.Updater.DocumentationEnumerator.<GetReflectionMembersCore>c__Iterator2.<iface>__10 ---> System.NullReferenceException: Object reference not set to an instance of an object
  at IKVM.Reflection.Signature.WriteType (IKVM.Reflection.Emit.ModuleBuilder module, IKVM.Reflection.Writer.ByteBuffer bb, IKVM.Reflection.Type type) [0x000b6] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at IKVM.Reflection.FieldSignature.WriteSig (IKVM.Reflection.Emit.ModuleBuilder module, IKVM.Reflection.Writer.ByteBuffer bb) [0x00014] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at IKVM.Reflection.Emit.FieldBuilder..ctor (IKVM.Reflection.Emit.TypeBuilder type, System.String name, IKVM.Reflection.Type fieldType, IKVM.Reflection.CustomModifiers customModifiers, IKVM.Reflection.FieldAttributes attribs) [0x00062] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at IKVM.Reflection.Emit.TypeBuilder.__DefineField (System.String fieldName, IKVM.Reflection.Type type, IKVM.Reflection.CustomModifiers customModifiers, IKVM.Reflection.FieldAttributes attributes) [0x00000] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at IKVM.Reflection.Emit.TypeBuilder.DefineField (System.String fieldName, IKVM.Reflection.Type type, IKVM.Reflection.Type[] requiredCustomModifiers, IKVM.Reflection.Type[] optionalCustomModifiers, IKVM.Reflection.FieldAttributes attributes) [0x0000b] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Field.Define () [0x00076] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeDefinition.DoDefineMembers () [0x0033a] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
   --- End of inner exception stack trace ---
  at Mono.CSharp.TypeDefinition.DoDefineMembers () [0x0035b] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ClassOrStruct.DoDefineMembers () [0x000e9] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.CompilerGeneratedContainer.DoDefineMembers () [0x00033] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.StateMachine.DoDefineMembers () [0x0002c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.IteratorStorey.DoDefineMembers () [0x0022a] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeDefinition.Define () [0x00012] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ExplicitBlock.DefineStoreyContainer (Mono.CSharp.EmitContext ec, Mono.CSharp.AnonymousMethodStorey storey) [0x004db] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ParametersBlock.Emit (Mono.CSharp.EmitContext ec) [0x0001c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00026] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
   --- End of inner exception stack trace ---
  at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x000df] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.MethodData.Emit (Mono.CSharp.TypeDefinition parent) [0x00092] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.MethodOrOperator.Emit () [0x0021c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Method.Emit () [0x0012c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
   --- End of inner exception stack trace ---
  at Mono.CSharp.Method.Emit () [0x00141] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeDefinition.Emit () [0x002f5] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ClassOrStruct.Emit () [0x00025] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Class.Emit () [0x00000] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeDefinition.EmitContainer () [0x0000f] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x0001e] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00007] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x0001e] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00007] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x0001e] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.ModuleContainer.EmitContainer () [0x0009c] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.AssemblyDefinition.Emit () [0x00098] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x00126] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Driver.Compile () [0x002f3] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00052] in <c9c7a91760c745a99fd6c6ef46271a6b>:0 
make[9]: *** [../../build/executable.make:142: ../../class/lib/net_4_x-linux/mdoc.exe] Error 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment