diff options
author | Russ Keldorph <russ.keldorph@microsoft.com> | 2017-01-26 13:01:52 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-26 13:01:52 -0800 |
commit | 347a36da580d1f6889d20f2b54d014e74d900cba (patch) | |
tree | d7f0054bf237a6c4ef0c00a636ff31e04ed6edd1 | |
parent | 0bc4bffb923a792ac15b070610fe40a4e4629146 (diff) | |
parent | 1de6fe60fd616b4c25f64f8d1c6f17a1e45915d1 (diff) | |
download | coreclr-347a36da580d1f6889d20f2b54d014e74d900cba.tar.gz coreclr-347a36da580d1f6889d20f2b54d014e74d900cba.tar.bz2 coreclr-347a36da580d1f6889d20f2b54d014e74d900cba.zip |
Merge pull request #9129 from RussKeldorph/defineenum
Disable assertions in ModuleBuilder.DefineEnum
-rw-r--r-- | src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs b/src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs index 1539c17530..75320a1ecb 100644 --- a/src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs +++ b/src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs @@ -1061,10 +1061,16 @@ namespace System.Reflection.Emit EnumBuilder enumBuilder = DefineEnumNoLock(name, visibility, underlyingType); // This enum is not generic, nested, and cannot have any element type. - Debug.Assert(name == enumBuilder.FullName); + + // We ought to be able to make the following assertions: + // + // Debug.Assert(name == enumBuilder.FullName); + // Debug.Assert(enumBuilder.m_typeBuilder == m_TypeBuilderDict[name]); + // + // but we can't because an embedded null ('\0') in the name will cause it to be truncated + // incorrectly. Fixing that would be a breaking change. // Replace the TypeBuilder object in m_TypeBuilderDict with this EnumBuilder object. - Debug.Assert(enumBuilder.m_typeBuilder == m_TypeBuilderDict[name]); m_TypeBuilderDict[name] = enumBuilder; return enumBuilder; |