[browser][non-icu] `HybridGlobalization` indexing (#85254)
authorIlona Tomkowicz <32700855+ilonatommy@users.noreply.github.com>
Thu, 18 May 2023 12:39:34 +0000 (14:39 +0200)
committerGitHub <noreply@github.com>
Thu, 18 May 2023 12:39:34 +0000 (14:39 +0200)
commit6022b3e0c340fbe1abb124152ad05fc68ccd6030
tree7e85203fb3ad7e32c19fe7d58a35a7a79f1fbc1b
parent1ffe321285f2f16ea2eff5f623ef14a0b1b48249
[browser][non-icu] `HybridGlobalization` indexing (#85254)

* A bit faster version of indexing. WIP

* Tiny speedup.

* Fixed IndexOf, ToDo: LastIndexOf.

* All tests pass.

* Updated docs.

* Update docs.

* Slicing + saving previous absolute index instead of pushing the iterator to the start position.

* Refactored.

* Fixed tests on browser.

* Str1 and str2 was confusing.

* Fix CI- correctly trimming Hybrid properties.

* Previous commit should target only Browser.

* Applied @mkhamoyan's suggestion to avoid code duplication.

* Applied @pavelsavara's review.

* Get rid of build errors.

* Revert.
19 files changed:
docs/design/features/hybrid-globalization.md
docs/workflow/trimming/feature-switches.md
src/libraries/Common/src/Interop/Browser/Interop.CompareInfo.cs
src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IndexOf.cs
src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IsPrefix.cs
src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.LastIndexOf.cs
src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.cs
src/libraries/System.Globalization/tests/Hybrid/Hybrid.WASM.Tests.csproj
src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.Browser.xml [new file with mode: 0644]
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.WebAssembly.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs
src/libraries/System.Runtime/tests/TrimmingTests/System.Runtime.TrimmingTests.proj
src/mono/sample/wasm/browser-bench/String.cs
src/mono/wasm/runtime/corebindings.c
src/mono/wasm/runtime/es6/dotnet.es6.lib.js
src/mono/wasm/runtime/exports-linker.ts
src/mono/wasm/runtime/hybrid-globalization.ts