Browse Source

Fix #2645: ToPrimitiveTypeCode: return 0, if known type is not primitive.

pull/2639/head
Siegfried Pammer 3 years ago
parent
commit
d19c93fc41
  1. 6
      ICSharpCode.Decompiler/Metadata/MetadataExtensions.cs

6
ICSharpCode.Decompiler/Metadata/MetadataExtensions.cs

@ -249,6 +249,10 @@ namespace ICSharpCode.Decompiler.Metadata
get => minimalCorlibTypeProvider; get => minimalCorlibTypeProvider;
} }
/// <summary>
/// Converts <see cref="KnownTypeCode"/> to <see cref="PrimitiveTypeCode"/>.
/// Returns 0 for known types that are not primitive types (such as <see cref="Span{T}"/>).
/// </summary>
public static PrimitiveTypeCode ToPrimitiveTypeCode(this KnownTypeCode typeCode) public static PrimitiveTypeCode ToPrimitiveTypeCode(this KnownTypeCode typeCode)
{ {
switch (typeCode) switch (typeCode)
@ -290,7 +294,7 @@ namespace ICSharpCode.Decompiler.Metadata
case KnownTypeCode.UIntPtr: case KnownTypeCode.UIntPtr:
return PrimitiveTypeCode.UIntPtr; return PrimitiveTypeCode.UIntPtr;
default: default:
throw new ArgumentOutOfRangeException(); return 0;
} }
} }

Loading…
Cancel
Save