Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/libraries/System.Formats.Asn1/ref/System.Formats.Asn1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,17 @@ public static partial class AsnDecoder
public static string ReadCharacterString(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, System.Formats.Asn1.UniversalTagNumber encodingType, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public static System.Formats.Asn1.Asn1Tag ReadEncodedValue(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int contentOffset, out int contentLength, out int bytesConsumed) { throw null; }
public static System.ReadOnlySpan<byte> ReadEnumeratedBytes(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("The enum type might not be available at runtime.")]
public static System.Enum ReadEnumeratedValue(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, System.Type enumType, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("The enum type might not be available at runtime.")]
public static TEnum ReadEnumeratedValue<TEnum>(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) where TEnum : System.Enum { throw null; }
public static System.DateTimeOffset ReadGeneralizedTime(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public static System.Numerics.BigInteger ReadInteger(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public static System.ReadOnlySpan<byte> ReadIntegerBytes(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public static System.Collections.BitArray ReadNamedBitList(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("The enum type might not be available at runtime.")]
public static System.Enum ReadNamedBitListValue(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, System.Type flagsEnumType, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("The enum type might not be available at runtime.")]
public static TFlagsEnum ReadNamedBitListValue<TFlagsEnum>(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) where TFlagsEnum : System.Enum { throw null; }
public static void ReadNull(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public static string ReadObjectIdentifier(System.ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
Expand Down Expand Up @@ -104,13 +108,17 @@ public partial class AsnReader
public string ReadCharacterString(System.Formats.Asn1.UniversalTagNumber encodingType, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public System.ReadOnlyMemory<byte> ReadEncodedValue() { throw null; }
public System.ReadOnlyMemory<byte> ReadEnumeratedBytes(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("The enum type might not be available at runtime.")]
public System.Enum ReadEnumeratedValue(System.Type enumType, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("The enum type might not be available at runtime.")]
public TEnum ReadEnumeratedValue<TEnum>(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) where TEnum : System.Enum { throw null; }
public System.DateTimeOffset ReadGeneralizedTime(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public System.Numerics.BigInteger ReadInteger(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public System.ReadOnlyMemory<byte> ReadIntegerBytes(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
public System.Collections.BitArray ReadNamedBitList(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("The enum type might not be available at runtime.")]
public System.Enum ReadNamedBitListValue(System.Type flagsEnumType, System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("The enum type might not be available at runtime.")]
public TFlagsEnum ReadNamedBitListValue<TFlagsEnum>(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) where TFlagsEnum : System.Enum { throw null; }
public void ReadNull(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { }
public string ReadObjectIdentifier(System.Formats.Asn1.Asn1Tag? expectedTag = default(System.Formats.Asn1.Asn1Tag?)) { throw null; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
<ProjectReference Include="$(LibrariesProjectRoot)System.Runtime.Numerics\ref\System.Runtime.Numerics.csproj" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' != '$(NetCoreAppCurrent)'">
<Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\RequiresDynamicCodeAttribute.cs" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
<PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>$(DefineConstants);CP_NO_ZEROMEMORY</DefineConstants>
<IsPackable>true</IsPackable>
<EnableAOTAnalyzer>true</EnableAOTAnalyzer>
<PackageDescription>Provides classes that can read and write the ASN.1 BER, CER, and DER data formats.

Commonly Used Types:
Expand Down Expand Up @@ -62,6 +63,10 @@ System.Formats.Asn1.AsnWriter</PackageDescription>
<Reference Include="System.Runtime.Numerics" />
<Reference Include="System.Text.Encoding.Extensions" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' != '$(NetCoreAppCurrent)'">
<Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\RequiresDynamicCodeAttribute.cs" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
<PackageReference Include="System.Buffers" Version="$(SystemBuffersVersion)" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;

namespace System.Formats.Asn1
Expand Down Expand Up @@ -113,6 +114,7 @@ public static ReadOnlySpan<byte> ReadEnumeratedBytes(
/// <paramref name="expectedTag"/>.<see cref="Asn1Tag.TagValue"/> is not correct for
/// the method.
/// </exception>
[RequiresDynamicCode("The enum type might not be available at runtime.")]
public static TEnum ReadEnumeratedValue<TEnum>(
ReadOnlySpan<byte> source,
AsnEncodingRules ruleSet,
Expand Down Expand Up @@ -186,6 +188,7 @@ public static TEnum ReadEnumeratedValue<TEnum>(
/// <exception cref="ArgumentNullException">
/// <paramref name="enumType"/> is <see langword="null" />.
/// </exception>
[RequiresDynamicCode("The enum type might not be available at runtime.")]
public static Enum ReadEnumeratedValue(
ReadOnlySpan<byte> source,
AsnEncodingRules ruleSet,
Expand Down Expand Up @@ -347,6 +350,7 @@ public ReadOnlyMemory<byte> ReadEnumeratedBytes(Asn1Tag? expectedTag = null)
/// <paramref name="expectedTag"/>.<see cref="Asn1Tag.TagValue"/> is not correct for
/// the method.
/// </exception>
[RequiresDynamicCode("The enum type might not be available at runtime.")]
public TEnum ReadEnumeratedValue<TEnum>(Asn1Tag? expectedTag = null) where TEnum : Enum
{
TEnum ret = AsnDecoder.ReadEnumeratedValue<TEnum>(_data.Span, RuleSet, out int consumed, expectedTag);
Expand Down Expand Up @@ -401,6 +405,7 @@ public TEnum ReadEnumeratedValue<TEnum>(Asn1Tag? expectedTag = null) where TEnum
/// <exception cref="ArgumentNullException">
/// <paramref name="enumType"/> is <see langword="null" />.
/// </exception>
[RequiresDynamicCode("The enum type might not be available at runtime.")]
public Enum ReadEnumeratedValue(Type enumType, Asn1Tag? expectedTag = null)
{
Enum ret = AsnDecoder.ReadEnumeratedValue(_data.Span, RuleSet, enumType, out int consumed, expectedTag);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

using System.Collections;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using System.Security.Cryptography;

Expand Down Expand Up @@ -102,6 +103,7 @@ public static partial class AsnDecoder
/// the example enum uses values thar are different from
/// System.Security.Cryptography.X509Certificates.X509KeyUsageFlags.
/// </remarks>
[RequiresDynamicCode("The enum type might not be available at runtime.")]
public static TFlagsEnum ReadNamedBitListValue<TFlagsEnum>(
ReadOnlySpan<byte> source,
AsnEncodingRules ruleSet,
Expand Down Expand Up @@ -174,6 +176,7 @@ public static TFlagsEnum ReadNamedBitListValue<TFlagsEnum>(
/// <paramref name="flagsEnumType"/> is <see langword="null" />
/// </exception>
/// <seealso cref="ReadNamedBitListValue{TFlagsEnum}"/>
[RequiresDynamicCode("The enum type might not be available at runtime.")]
public static Enum ReadNamedBitListValue(
ReadOnlySpan<byte> source,
AsnEncodingRules ruleSet,
Expand Down Expand Up @@ -490,6 +493,7 @@ public partial class AsnReader
/// the example enum uses values thar are different from
/// System.Security.Cryptography.X509Certificates.X509KeyUsageFlags.
/// </remarks>
[RequiresDynamicCode("The enum type might not be available at runtime.")]
public TFlagsEnum ReadNamedBitListValue<TFlagsEnum>(Asn1Tag? expectedTag = null) where TFlagsEnum : Enum
{
TFlagsEnum ret = AsnDecoder.ReadNamedBitListValue<TFlagsEnum>(
Expand Down Expand Up @@ -544,6 +548,7 @@ public TFlagsEnum ReadNamedBitListValue<TFlagsEnum>(Asn1Tag? expectedTag = null)
/// <paramref name="flagsEnumType"/> is <see langword="null" />
/// </exception>
/// <seealso cref="ReadNamedBitListValue{TFlagsEnum}"/>
[RequiresDynamicCode("The enum type might not be available at runtime.")]
public Enum ReadNamedBitListValue(Type flagsEnumType, Asn1Tag? expectedTag = null)
{
Enum ret = AsnDecoder.ReadNamedBitListValue(
Expand Down