From 9825c234e8a51a00a6708b4131a3f0d32b3dddbc Mon Sep 17 00:00:00 2001
From: Ruben Schmidmeister <4602612+bash@users.noreply.github.com>
Date: Tue, 22 Nov 2022 10:35:12 +0100
Subject: [PATCH 1/2] Bump version and update changelog
---
...DiscriminatedUnion.SourceGeneration.csproj | 2 +-
changelog.md | 5 ++-
readme.md | 43 +++++++++++++++++++
3 files changed, 48 insertions(+), 2 deletions(-)
diff --git a/Funcky.DiscriminatedUnion.SourceGeneration/Funcky.DiscriminatedUnion.SourceGeneration.csproj b/Funcky.DiscriminatedUnion.SourceGeneration/Funcky.DiscriminatedUnion.SourceGeneration.csproj
index 7586859..16fd170 100644
--- a/Funcky.DiscriminatedUnion.SourceGeneration/Funcky.DiscriminatedUnion.SourceGeneration.csproj
+++ b/Funcky.DiscriminatedUnion.SourceGeneration/Funcky.DiscriminatedUnion.SourceGeneration.csproj
@@ -8,7 +8,7 @@
11.0
- 1.0.0
+ 1.1.0
Funcky.DiscriminatedUnion
Polyadic
MIT OR Apache-2.0
diff --git a/changelog.md b/changelog.md
index a81f924..28f6358 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,6 +1,9 @@
# Changelog
+## 1.1.0
+* Add support for generating `[JsonDerivedType]` attributes.
+
## 1.0.0
* Re-release of 0.1.0
## 0.1.0
-* Initial release
\ No newline at end of file
+* Initial release
diff --git a/readme.md b/readme.md
index 2c1e7da..4c73082 100644
--- a/readme.md
+++ b/readme.md
@@ -88,3 +88,46 @@ public abstract partial record SyntaxNode
}
```
+### `[JsonPolymorphic]`
+System.Text.Json adds support for [serializing derived classes][json-polymorphism-docs] starting with .NET 7.
+This generator supports this feature by generating the required `[JsonDerivedType]` attributes for you.
+
+All missing `[JsonDerivedType]` attributes are generated if at least one `[JsonDerivedType]` or `[JsonPolymorphic]`
+attribute is specified.
+
+```cs
+using Funcky;
+using System.Text.Serialization;
+
+[DiscriminatedUnion]
+[JsonPolymorphic]
+public abstract partial record Shape
+{
+ public sealed partial record Rectangle(double Width, double Length) : Shape;
+
+ public sealed partial record Circle(double Radius) : Shape;
+
+ public sealed partial record EquilateralTriangle(double SideLength) : Shape;
+}
+```
+
+
+
+Generated code
+
+```cs
+using System.Text.Serialization;
+
+[JsonDerivedType(typeof(Rectangle), typeDiscriminator: nameof(Rectangle))]
+[JsonDerivedType(typeof(Circle), typeDiscriminator: nameof(Circle))]
+[JsonDerivedType(typeof(EquilateralTriangle), typeDiscriminator: nameof(EquilateralTriangle))]
+partial record Shape
+{
+ // ...
+}
+```
+
+
+
+
+[json-polymorphism-docs]: https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/polymorphism
From dca4d6ccc32e36909e4d6dfb738a772f292bf31c Mon Sep 17 00:00:00 2001
From: Ruben Schmidmeister <4602612+bash@users.noreply.github.com>
Date: Tue, 22 Nov 2022 10:41:35 +0100
Subject: [PATCH 2/2] Update version in generated files
---
...eFileName=DeeplyNestedUnion.01.verified.cs | 8 ++--
...e_sourceFileName=EmptyUnion.01.verified.cs | 4 +-
...sourceFileName=GenericUnion.01.verified.cs | 12 +++---
...rceFileName=JsonPolymorphic.01.verified.cs | 40 +++++++++----------
...me=KeywordsAsParameterNames.01.verified.cs | 12 +++---
...AndSyntacticallyNestedUnion.01.verified.cs | 24 +++++------
...callyNestedUnionWithFlatten.01.verified.cs | 12 +++---
...callyNestedUnionWithFlatten.01.verified.cs | 12 +++---
...ourceFileName=NonExhaustive.01.verified.cs | 12 +++---
...nNestedInMultipleNamespaces.01.verified.cs | 8 ++--
...thConflictingResultTypeName.01.verified.cs | 8 ++--
11 files changed, 76 insertions(+), 76 deletions(-)
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=DeeplyNestedUnion.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=DeeplyNestedUnion.01.verified.cs
index 4b6f86e..4e75c79 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=DeeplyNestedUnion.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=DeeplyNestedUnion.01.verified.cs
@@ -14,18 +14,18 @@ partial class StaticClass
{
partial record NestedUnion
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func variant);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action variant);
partial record Variant
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func variant) => variant(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action variant) => variant(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=EmptyUnion.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=EmptyUnion.01.verified.cs
index 1609218..ae456ec 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=EmptyUnion.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=EmptyUnion.01.verified.cs
@@ -4,9 +4,9 @@
partial record EmptyUnion
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match();
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch();
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=GenericUnion.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=GenericUnion.01.verified.cs
index 4cd4624..165fd82 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=GenericUnion.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=GenericUnion.01.verified.cs
@@ -6,27 +6,27 @@ namespace Funcky.DiscriminatedUnion.Test
{
partial record Result where T : notnull
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal abstract TResult Match(global::System.Func ok, global::System.Func error);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal abstract void Switch(global::System.Action ok, global::System.Action error);
partial record Ok
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal override TResult Match(global::System.Func ok, global::System.Func error) => ok(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal override void Switch(global::System.Action ok, global::System.Action error) => ok(this);
}
partial record Error
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal override TResult Match(global::System.Func ok, global::System.Func error) => error(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal override void Switch(global::System.Action ok, global::System.Action error) => error(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=JsonPolymorphic.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=JsonPolymorphic.01.verified.cs
index 77018a6..e82aa26 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=JsonPolymorphic.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=JsonPolymorphic.01.verified.cs
@@ -6,27 +6,27 @@
[global::System.Text.Json.Serialization.JsonDerivedType(typeof(global::Result.Error), "Error")]
partial record Result
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func ok, global::System.Func error);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action ok, global::System.Action error);
partial record Ok
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func ok, global::System.Func error) => ok(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action ok, global::System.Action error) => ok(this);
}
partial record Error
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func ok, global::System.Func error) => error(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action ok, global::System.Action error) => error(this);
}
}
@@ -39,27 +39,27 @@ partial class Nesting2
[global::System.Text.Json.Serialization.JsonDerivedType(typeof(global::Nesting1<, , >.Nesting2<>.Result<>.Error), "Error")]
partial record Result
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func ok, global::System.Func error);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action ok, global::System.Action error);
partial record Ok
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func ok, global::System.Func error) => ok(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action ok, global::System.Action error) => ok(this);
}
partial record Error
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func ok, global::System.Func error) => error(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action ok, global::System.Action error) => error(this);
}
}
@@ -69,36 +69,36 @@ partial record Error
[global::System.Text.Json.Serialization.JsonDerivedType(typeof(global::Shape.EquilateralTriangle), "EquilateralTriangle")]
partial record Shape
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func rectangle, global::System.Func circle, global::System.Func equilateralTriangle);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action rectangle, global::System.Action circle, global::System.Action equilateralTriangle);
partial record Rectangle
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func rectangle, global::System.Func circle, global::System.Func equilateralTriangle) => rectangle(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action rectangle, global::System.Action circle, global::System.Action equilateralTriangle) => rectangle(this);
}
partial record Circle
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func rectangle, global::System.Func circle, global::System.Func equilateralTriangle) => circle(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action rectangle, global::System.Action circle, global::System.Action equilateralTriangle) => circle(this);
}
partial record EquilateralTriangle
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func rectangle, global::System.Func circle, global::System.Func equilateralTriangle) => equilateralTriangle(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action rectangle, global::System.Action circle, global::System.Action equilateralTriangle) => equilateralTriangle(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=KeywordsAsParameterNames.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=KeywordsAsParameterNames.01.verified.cs
index 01b82ff..2efd68c 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=KeywordsAsParameterNames.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=KeywordsAsParameterNames.01.verified.cs
@@ -6,27 +6,27 @@ namespace Funcky.DiscriminatedUnion.Test
{
partial record Bool
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func @true, global::System.Func @false);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action @true, global::System.Action @false);
partial record True
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func @true, global::System.Func @false) => @true(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action @true, global::System.Action @false) => @true(this);
}
partial record False
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func @true, global::System.Func @false) => @false(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action @true, global::System.Action @false) => @false(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyAndSyntacticallyNestedUnion.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyAndSyntacticallyNestedUnion.01.verified.cs
index 606df5c..7fb5f33 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyAndSyntacticallyNestedUnion.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyAndSyntacticallyNestedUnion.01.verified.cs
@@ -6,27 +6,27 @@ namespace Funcky.DiscriminatedUnion.Test
{
partial record SyntaxNode
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func keyword, global::System.Func literal);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action keyword, global::System.Action literal);
partial record Keyword
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func keyword, global::System.Func literal) => keyword(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action keyword, global::System.Action literal) => keyword(this);
}
partial record Literal
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func keyword, global::System.Func literal) => literal(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action keyword, global::System.Action literal) => literal(this);
}
}
@@ -38,27 +38,27 @@ partial record SyntaxNode
{
partial record Literal
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func integer, global::System.Func @string);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action integer, global::System.Action @string);
partial record Integer
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func integer, global::System.Func @string) => integer(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action integer, global::System.Action @string) => integer(this);
}
partial record String
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func integer, global::System.Func @string) => @string(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action integer, global::System.Action @string) => @string(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyAndSyntacticallyNestedUnionWithFlatten.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyAndSyntacticallyNestedUnionWithFlatten.01.verified.cs
index c138945..2abe511 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyAndSyntacticallyNestedUnionWithFlatten.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyAndSyntacticallyNestedUnionWithFlatten.01.verified.cs
@@ -6,18 +6,18 @@ namespace Funcky.DiscriminatedUnion.Test
{
partial record SyntaxNodeFlattened
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func keyword, global::System.Func integer);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action keyword, global::System.Action integer);
partial record Keyword
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func keyword, global::System.Func integer) => keyword(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action keyword, global::System.Action integer) => keyword(this);
}
@@ -27,10 +27,10 @@ partial record Number
{
partial record Integer
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func keyword, global::System.Func integer) => integer(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action keyword, global::System.Action integer) => integer(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyNestedUnionWithFlatten.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyNestedUnionWithFlatten.01.verified.cs
index 346de4b..dbe5dfe 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyNestedUnionWithFlatten.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=LogicallyNestedUnionWithFlatten.01.verified.cs
@@ -6,27 +6,27 @@ namespace Funcky.DiscriminatedUnion.Test
{
partial record SyntaxNodeFlattened
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func keyword, global::System.Func integer);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action keyword, global::System.Action integer);
partial record Keyword
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func keyword, global::System.Func integer) => keyword(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action keyword, global::System.Action integer) => keyword(this);
}
partial record Integer
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func keyword, global::System.Func integer) => integer(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action keyword, global::System.Action integer) => integer(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=NonExhaustive.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=NonExhaustive.01.verified.cs
index 4cd4624..165fd82 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=NonExhaustive.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=NonExhaustive.01.verified.cs
@@ -6,27 +6,27 @@ namespace Funcky.DiscriminatedUnion.Test
{
partial record Result where T : notnull
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal abstract TResult Match(global::System.Func ok, global::System.Func error);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal abstract void Switch(global::System.Action ok, global::System.Action error);
partial record Ok
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal override TResult Match(global::System.Func ok, global::System.Func error) => ok(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal override void Switch(global::System.Action ok, global::System.Action error) => ok(this);
}
partial record Error
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal override TResult Match(global::System.Func ok, global::System.Func error) => error(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
internal override void Switch(global::System.Action ok, global::System.Action error) => error(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=UnionNestedInMultipleNamespaces.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=UnionNestedInMultipleNamespaces.01.verified.cs
index 7f65495..b8193a6 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=UnionNestedInMultipleNamespaces.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=UnionNestedInMultipleNamespaces.01.verified.cs
@@ -6,18 +6,18 @@ namespace Foo.Bar
{
partial record NestedUnion
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TResult Match(global::System.Func variant);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action variant);
partial record Variant
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TResult Match(global::System.Func variant) => variant(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action variant) => variant(this);
}
}
diff --git a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=UnionWithConflictingResultTypeName.01.verified.cs b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=UnionWithConflictingResultTypeName.01.verified.cs
index f25e957..e44849b 100644
--- a/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=UnionWithConflictingResultTypeName.01.verified.cs
+++ b/Funcky.DiscriminatedUnion.Test/SourceGeneratorTest.GeneratesExpectedSourceCode_sourceFileName=UnionWithConflictingResultTypeName.01.verified.cs
@@ -4,18 +4,18 @@
partial record UnionWithConflictingGenericType
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract TMatchResult Match(global::System.Func variant);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public abstract void Switch(global::System.Action variant);
partial record Variant
{
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override TMatchResult Match(global::System.Func variant) => variant(this);
- [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCode("Funcky.DiscriminatedUnion.SourceGeneration", "1.1.0.0")]
public override void Switch(global::System.Action variant) => variant(this);
}
}