Allow Utf8String package to work on netstandard 2.0 (#33357)
authorEric Erhardt <eric.erhardt@microsoft.com>
Sat, 14 Mar 2020 15:43:44 +0000 (10:43 -0500)
committerGitHub <noreply@github.com>
Sat, 14 Mar 2020 15:43:44 +0000 (10:43 -0500)
commit98d9e7e10330ab6a6e9c854f98b484e803ebb55d
treecf880f91b5d58348eaba612b25489fb07c659f05
parent95b7248e9ba1a4552809c24cd571d5aa60d5af48
Allow Utf8String package to work on netstandard 2.0 (#33357)

* Update ref assembly for building netstandard2.0.

Includes System.Text.Rune for netstandard2.0, since that is currently only netcoreapp3.0.

* Get Rune working on netstandard2.0

* Get Utf8Span compiling on netstandard2.0.

* Get Utf8String building on netstandard2.0

* Compile Utf8String/Span.Conversion.cs for netstandard.

* Build Utf8String Comparison and Enumeration for netstandard.

* Enable Index and Range on netstandard2.0

* Moving code around so it lines up with the ref assemblies.
Getting the full build working again.

* Build for netcoreapp3.0.
Get the package building.

* Get tests building on netfx

* Get Utf8String constructors working on netstandard.

* Get all tests running on netfx.

* Fix build for netcoreapp3.0, which doesn't have SerializeToStreamAsync with cancellation.

* Add netstandard2.1 support to Utf8String.Experimental.

* Make Intrinsics IsSupported be const fields.

* Address PR feedback

* Ensure nint and nuint are set correctly when building Utf8String outside of CoreLib.

* Fix bug in construction from long UTF16 string.
62 files changed:
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
src/libraries/System.Private.CoreLib/src/System/Index.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/BitOperations.cs
src/libraries/System.Private.CoreLib/src/System/Range.cs
src/libraries/System.Private.CoreLib/src/System/Text/ASCIIUtility.cs
src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf16Utility.Validation.cs
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8.cs
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.Helpers.cs
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.Transcoding.cs
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.Validation.cs
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.WhiteSpace.CoreLib.cs [moved from src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.WhiteSpace.cs with 100% similarity]
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.WhiteSpace.NonCoreLib.cs [new file with mode: 0644]
src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.cs
src/libraries/System.Private.CoreLib/src/System/Text/Utf8Span.Comparison.cs
src/libraries/System.Private.CoreLib/src/System/Text/Utf8Span.Conversion.cs
src/libraries/System.Private.CoreLib/src/System/Text/Utf8Span.Manipulation.cs
src/libraries/System.Private.CoreLib/src/System/Text/Utf8Span.Searching.cs
src/libraries/System.Private.CoreLib/src/System/Text/Utf8Span.cs
src/libraries/System.Private.CoreLib/src/System/Text/Utf8StringComparer.cs
src/libraries/System.Private.CoreLib/src/System/Utf8Extensions.CoreLib.cs [new file with mode: 0644]
src/libraries/System.Private.CoreLib/src/System/Utf8Extensions.cs
src/libraries/System.Private.CoreLib/src/System/Utf8String.Comparison.cs
src/libraries/System.Private.CoreLib/src/System/Utf8String.Construction.cs
src/libraries/System.Private.CoreLib/src/System/Utf8String.Enumeration.cs
src/libraries/System.Private.CoreLib/src/System/Utf8String.Manipulation.cs
src/libraries/System.Private.CoreLib/src/System/Utf8String.cs
src/libraries/System.Utf8String.Experimental/pkg/System.Utf8String.Experimental.pkgproj
src/libraries/System.Utf8String.Experimental/ref/System.Utf8String.Experimental.Forwards.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/ref/System.Utf8String.Experimental.Range.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/ref/System.Utf8String.Experimental.Rune.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/ref/System.Utf8String.Experimental.cs
src/libraries/System.Utf8String.Experimental/ref/System.Utf8String.Experimental.csproj
src/libraries/System.Utf8String.Experimental/ref/System.Utf8String.Experimental.netcoreapp5.0.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/src/Resources/Strings.resx
src/libraries/System.Utf8String.Experimental/src/System.Utf8String.Experimental.csproj
src/libraries/System.Utf8String.Experimental/src/System/Globalization/GlobalizationMode.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/src/System/IO/Utf8StringStream.cs
src/libraries/System.Utf8String.Experimental/src/System/Net/Http/Utf8StringContent.cs
src/libraries/System.Utf8String.Experimental/src/System/Runtime/Intrinsics/Intrinsics.Shims.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/src/System/ThrowHelper.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/src/System/Utf8Extensions.Portable.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/src/System/Utf8String.Portable.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/tests/System.Utf8String.Experimental.Tests.csproj
src/libraries/System.Utf8String.Experimental/tests/System/BoundedUtf8Span.cs
src/libraries/System.Utf8String.Experimental/tests/System/MemoryTests.cs
src/libraries/System.Utf8String.Experimental/tests/System/MemoryTests.netcoreapp.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/tests/System/MemoryTests.netfx.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/tests/System/RangeEqualityComparer.cs
src/libraries/System.Utf8String.Experimental/tests/System/ReflectionTests.cs
src/libraries/System.Utf8String.Experimental/tests/System/ReflectionTests.netcoreapp.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/tests/System/Utf8ExtensionsTests.cs
src/libraries/System.Utf8String.Experimental/tests/System/Utf8ExtensionsTests.netcoreapp.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/tests/System/Utf8SpanTests.Conversion.cs
src/libraries/System.Utf8String.Experimental/tests/System/Utf8SpanTests.Searching.cs
src/libraries/System.Utf8String.Experimental/tests/System/Utf8SpanTests.TestData.cs
src/libraries/System.Utf8String.Experimental/tests/System/Utf8SpanTests.cs
src/libraries/System.Utf8String.Experimental/tests/System/Utf8StringTests.Ctor.cs
src/libraries/System.Utf8String.Experimental/tests/System/Utf8StringTests.Ctor.netcoreapp.cs [new file with mode: 0644]
src/libraries/System.Utf8String.Experimental/tests/System/Utf8StringTests.Searching.cs
src/libraries/System.Utf8String.Experimental/tests/System/Utf8StringTests.cs
src/libraries/System.Utf8String.Experimental/tests/System/Utf8TestUtilities.cs