diff --git a/reflect/CustomAttributeData.cs b/reflect/CustomAttributeData.cs index b9574d56..9da38ce6 100644 --- a/reflect/CustomAttributeData.cs +++ b/reflect/CustomAttributeData.cs @@ -412,7 +412,7 @@ private static CustomAttributeTypedArgument ReadFixedArg(Module context, ByteRea } else { - throw new InvalidOperationException(); + throw new InvalidOperationException(type.ToString()); } } diff --git a/reflect/Metadata/Tables.cs b/reflect/Metadata/Tables.cs index 75ceef7c..491c1ba1 100644 --- a/reflect/Metadata/Tables.cs +++ b/reflect/Metadata/Tables.cs @@ -1244,6 +1244,8 @@ internal static int EncodeHasCustomAttribute(int token) return (token & 0xFFFFFF) << 5 | 18; case GenericParamTable.Index: return (token & 0xFFFFFF) << 5 | 19; + case GenericParamConstraintTable.Index: + return (token & 0xFFFFFF) << 5 | 20; default: throw new InvalidOperationException(); } diff --git a/reflect/Reader/MetadataReader.cs b/reflect/Reader/MetadataReader.cs index 28a4720d..7d7cf669 100644 --- a/reflect/Reader/MetadataReader.cs +++ b/reflect/Reader/MetadataReader.cs @@ -226,6 +226,8 @@ internal int ReadHasCustomAttribute() return (ManifestResourceTable.Index << 24) + (codedIndex >> 5); case 19: return (GenericParamTable.Index << 24) + (codedIndex >> 5); + case 20: + return (GenericParamConstraintTable.Index << 24) + (codedIndex >> 5); default: throw new BadImageFormatException(); }