Browse Source

Add Span<T>, ReadOnlySpan<T> and Memory<T> to KnownTypeCode.

pull/1274/merge
Siegfried Pammer 7 years ago
parent
commit
a66cea8ef6
  1. 11
      ICSharpCode.Decompiler/TypeSystem/KnownTypeReference.cs

11
ICSharpCode.Decompiler/TypeSystem/KnownTypeReference.cs

@ -129,6 +129,12 @@ namespace ICSharpCode.Decompiler.TypeSystem
IFormattable, IFormattable,
/// <summary><c>System.FormattableString</c></summary> /// <summary><c>System.FormattableString</c></summary>
FormattableString, FormattableString,
/// <summary><c>System.Span{T}</c></summary>
SpanOfT,
/// <summary><c>System.ReadOnlySpan{T}</c></summary>
ReadOnlySpanOfT,
/// <summary><c>System.Memory{T}</c></summary>
MemoryOfT,
} }
/// <summary> /// <summary>
@ -137,7 +143,7 @@ namespace ICSharpCode.Decompiler.TypeSystem
[Serializable] [Serializable]
public sealed class KnownTypeReference : ITypeReference public sealed class KnownTypeReference : ITypeReference
{ {
internal const int KnownTypeCodeCount = (int)KnownTypeCode.FormattableString + 1; internal const int KnownTypeCodeCount = (int)KnownTypeCode.MemoryOfT + 1;
static readonly KnownTypeReference[] knownTypeReferences = new KnownTypeReference[KnownTypeCodeCount] { static readonly KnownTypeReference[] knownTypeReferences = new KnownTypeReference[KnownTypeCodeCount] {
null, // None null, // None
@ -191,6 +197,9 @@ namespace ICSharpCode.Decompiler.TypeSystem
new KnownTypeReference(KnownTypeCode.TypedReference, TypeKind.Struct, "System", "TypedReference"), new KnownTypeReference(KnownTypeCode.TypedReference, TypeKind.Struct, "System", "TypedReference"),
new KnownTypeReference(KnownTypeCode.IFormattable, TypeKind.Interface, "System", "IFormattable"), new KnownTypeReference(KnownTypeCode.IFormattable, TypeKind.Interface, "System", "IFormattable"),
new KnownTypeReference(KnownTypeCode.FormattableString, TypeKind.Class, "System", "FormattableString", baseType: KnownTypeCode.IFormattable), new KnownTypeReference(KnownTypeCode.FormattableString, TypeKind.Class, "System", "FormattableString", baseType: KnownTypeCode.IFormattable),
new KnownTypeReference(KnownTypeCode.SpanOfT, TypeKind.Struct, "System", "Span", 1),
new KnownTypeReference(KnownTypeCode.ReadOnlySpanOfT, TypeKind.Struct, "System", "ReadOnlySpan", 1),
new KnownTypeReference(KnownTypeCode.MemoryOfT, TypeKind.Struct, "System", "Memory", 1),
}; };
/// <summary> /// <summary>

Loading…
Cancel
Save