diff options
author | Levi Broderick <GrabYourPitchforks@users.noreply.github.com> | 2019-03-18 22:58:32 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-18 22:58:32 -0700 |
commit | 1f3f474a13bdde1c5fecdf8cd9ce525dbe5df000 (patch) | |
tree | 6dfa953c84f1b4d1a7af414c89bb69a025902b1b /src/System.Private.CoreLib/System.Private.CoreLib.csproj | |
parent | 31581af5fa816fb2ea94145823ec3bdd6c0b0327 (diff) | |
download | coreclr-1f3f474a13bdde1c5fecdf8cd9ce525dbe5df000.tar.gz coreclr-1f3f474a13bdde1c5fecdf8cd9ce525dbe5df000.tar.bz2 coreclr-1f3f474a13bdde1c5fecdf8cd9ce525dbe5df000.zip |
Add Utf8String skeleton (#23209)
Utf8String is an experimental type that is string-like (heap-allocated, immutable, variable-length, null-terminated) but whose inner representation is UTF-8, not UTF-16.
This is a skeleton implementation of the basic API shape. The ecosystem of APIs has not yet been built around it. All Utf8String-related code is currently surrounded by ifdefs to allow easy identification and removal from release branches.
Diffstat (limited to 'src/System.Private.CoreLib/System.Private.CoreLib.csproj')
-rw-r--r-- | src/System.Private.CoreLib/System.Private.CoreLib.csproj | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/System.Private.CoreLib/System.Private.CoreLib.csproj index 6e73aeffa5..0cf6733ad9 100644 --- a/src/System.Private.CoreLib/System.Private.CoreLib.csproj +++ b/src/System.Private.CoreLib/System.Private.CoreLib.csproj @@ -112,6 +112,10 @@ <!-- CLR Features --> <Import Project="$(MSBuildThisFileDirectory)..\..\clr.coreclr.props" /> <Import Project="$(MSBuildThisFileDirectory)..\..\clr.defines.targets" /> + <!-- Experimental features --> + <PropertyGroup Condition="'$(FeatureUtf8String)' == 'true'"> + <DefineConstants>$(DefineConstants);FEATURE_UTF8STRING</DefineConstants> + </PropertyGroup> <!-- Sources --> <ItemGroup> <Compile Include="$(BclSourcesRoot)\Internal\Console.cs" /> @@ -274,6 +278,14 @@ <Compile Include="shared\Interop\Windows\Ole32\Interop.CoTaskMemAlloc.cs" /> <Compile Include="shared\Interop\Windows\OleAut32\Interop.SysAllocStringByteLen.cs" /> </ItemGroup> + <ItemGroup Condition="'$(FeatureUtf8String)' == 'true'"> + <Compile Include="$(BclSourcesRoot)\System\Char8.cs" /> + <Compile Include="$(BclSourcesRoot)\System\Utf8Extensions.cs" /> + <Compile Include="$(BclSourcesRoot)\System\Utf8String.cs" /> + <Compile Include="$(BclSourcesRoot)\System\Utf8String.Construction.cs" /> + <Compile Include="$(BclSourcesRoot)\System\Utf8String.Manipulation.cs" /> + <Compile Include="$(BclSourcesRoot)\System\Utf8String.Searching.cs" /> + </ItemGroup> <ItemGroup> <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\XplatEventLogger.cs" Condition="'$(FeatureXplatEventSource)' == 'true'" /> <Compile Include="$(IntermediateOutputPath)..\Eventing\NativeRuntimeEventSource.cs" Condition="'$(FeaturePerfTracing)' == 'true'"/> |