Make JsonGenerator be an incremental generator (#57088) (#58278)
authorEric Erhardt <eric.erhardt@microsoft.com>
Fri, 27 Aug 2021 22:47:52 +0000 (16:47 -0600)
committerGitHub <noreply@github.com>
Fri, 27 Aug 2021 22:47:52 +0000 (15:47 -0700)
commit72f18b5a0b1ca0054a90f4ba878cd3236862b831
tree63b878527406528f0f34989ed3812789d5ddb9ee
parent262b509bc01138519c08b06ee711000846036132
Make JsonGenerator be an incremental generator (#57088) (#58278)

* Make JsonGenerator be an incremental generator

* Improve incrementalism by doing less work when not applicable

* Change SourceGeneration.UnitTests to SourceGeneration.Unit.Tests so it is built and executed in CI

* Get unit tests running after IIncrementalGenerator migration

* Fix duplicate file name tests by working around https://github.com/dotnet/roslyn/issues/54185.

* Fix unit tests now that they are running in CI against non-English languages.

* Fix System.Text.Json.SourceGeneration.Unit.Tests on WASM

* Disable STJ.SourceGeneration.Unit.Tests on Browser

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Chris Sienkiewicz <chsienki@microsoft.com>
eng/Versions.props
src/libraries/System.Text.Json/System.Text.Json.sln
src/libraries/System.Text.Json/gen/JsonSourceGenerator.Emitter.cs
src/libraries/System.Text.Json/gen/JsonSourceGenerator.Parser.cs
src/libraries/System.Text.Json/gen/JsonSourceGenerator.cs
src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/CompilationHelper.cs [moved from src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.UnitTests/CompilationHelper.cs with 90% similarity]
src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/JsonSourceGeneratorDiagnosticsTests.cs [moved from src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.UnitTests/JsonSourceGeneratorDiagnosticsTests.cs with 100% similarity]
src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/JsonSourceGeneratorTests.cs [moved from src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.UnitTests/JsonSourceGeneratorTests.cs with 100% similarity]
src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/System.Text.Json.SourceGeneration.Unit.Tests.csproj [moved from src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.UnitTests/System.Text.Json.SourceGeneration.UnitTests.csproj with 94% similarity]
src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/TypeWrapperTests.cs [moved from src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.UnitTests/TypeWrapperTests.cs with 100% similarity]
src/libraries/tests.proj