summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Keldorph <russ.keldorph@microsoft.com>2017-01-26 13:01:52 -0800
committerGitHub <noreply@github.com>2017-01-26 13:01:52 -0800
commit347a36da580d1f6889d20f2b54d014e74d900cba (patch)
treed7f0054bf237a6c4ef0c00a636ff31e04ed6edd1
parent0bc4bffb923a792ac15b070610fe40a4e4629146 (diff)
parent1de6fe60fd616b4c25f64f8d1c6f17a1e45915d1 (diff)
downloadcoreclr-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.cs10
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;