Skip to content

Commit 67da69d

Browse files
committed
feat: Acceptor converts self-type
1 parent 6d3aa62 commit 67da69d

22 files changed

+176
-239
lines changed

Directory.Build.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
</PropertyGroup>
1414

1515
<PropertyGroup>
16-
<Version>0.0.4</Version>
16+
<Version>0.1.0</Version>
1717
<Authors>hikarin522</Authors>
1818
<Copyright>(c) 2023 hikarin522.</Copyright>
1919
<PackageLicenseExpression>MIT</PackageLicenseExpression>

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.ISampleBaseVisitor.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,23 @@ partial interface ISampleBaseVisitor
2020

2121
namespace Sample
2222
{
23-
partial class Sample1: Sample.SampleBase, Sample.IVisitorResult<int>
23+
partial class Sample1: Sample.SampleBase
2424
{
2525
public sealed override async System.Threading.Tasks.Task<int> AcceptAsync(Sample.ISampleBaseVisitor visitor) => await visitor.VisitAsync(this);
2626
}
2727
}
2828

2929
namespace Sample
3030
{
31-
partial class Sample2: Sample.SampleBase, Sample.IVisitorResult<int>
31+
partial class Sample2: Sample.SampleBase
3232
{
3333
public sealed override async System.Threading.Tasks.Task<int> AcceptAsync(Sample.ISampleBaseVisitor visitor) => await visitor.VisitAsync(this);
3434
}
3535
}
3636

3737
namespace Sample
3838
{
39-
partial class Sample3: Sample.SampleBase, Sample.IVisitorResult<int>
39+
partial class Sample3: Sample.SampleBase
4040
{
4141
public sealed override async System.Threading.Tasks.Task<int> AcceptAsync(Sample.ISampleBaseVisitor visitor) => await visitor.VisitAsync(this);
4242
}

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.SampleRequest.ISampleRequest.cs

+5-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
namespace Sample.SampleRequest
44
{
5-
[MessagePack.Union(1, typeof(Sample.SampleRequest.Sample1Request))]
6-
[MessagePack.Union(2, typeof(Sample.SampleRequest.Sample2Request))]
7-
[MessagePack.Union(3, typeof(Sample.SampleRequest.Sample3Request))]
5+
[MessagePack.Union(1, typeof(Sample.SampleRequest.SampleRequest1))]
6+
[MessagePack.Union(2, typeof(Sample.SampleRequest.SampleRequest2))]
7+
[MessagePack.Union(3, typeof(Sample.SampleRequest.SampleRequest3))]
8+
[MessagePack.Union(4, typeof(Sample.SampleRequest.SampleRequest4))]
9+
[MessagePack.Union(5, typeof(Sample.SampleRequest.SampleRequest5))]
810
partial interface ISampleRequest { }
911
}

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.SampleRequest.ISampleRequestVisitor.cs

+24-6
Original file line numberDiff line numberDiff line change
@@ -12,32 +12,50 @@ namespace Sample.SampleRequest
1212
{
1313
partial interface ISampleRequestVisitor
1414
{
15-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.Sample3Request value);
16-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.Sample1Response> VisitAsync(Sample.SampleRequest.Sample1Request value);
17-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.Sample2Response> VisitAsync(Sample.SampleRequest.Sample2Request value);
15+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.SampleRequest5 value);
16+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.ISampleResponse> value);
17+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse1> VisitAsync(Sample.SampleRequest.SampleRequest1 value);
18+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse2> VisitAsync(Sample.SampleRequest.SampleRequest2 value);
19+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse3> VisitAsync(Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.SampleResponse3> value);
1820
}
1921
}
2022

2123
namespace Sample.SampleRequest
2224
{
23-
partial class Sample3Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.ISampleResponse>
25+
partial class SampleRequest5: Sample.SampleRequest.ISampleRequest
2426
{
2527
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync(Sample.SampleRequest.ISampleRequestVisitor visitor) => await visitor.VisitAsync(this);
2628
}
2729
}
2830

2931
namespace Sample.SampleRequest
3032
{
31-
partial class Sample1Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.Sample1Response>
33+
partial class SampleRequest4: Sample.SampleRequest.ISampleRequest
34+
{
35+
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync(Sample.SampleRequest.ISampleRequestVisitor visitor) => await visitor.VisitAsync((Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.ISampleResponse>)this);
36+
}
37+
}
38+
39+
namespace Sample.SampleRequest
40+
{
41+
partial class SampleRequest1: Sample.SampleRequest.ISampleRequest
3242
{
3343
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync(Sample.SampleRequest.ISampleRequestVisitor visitor) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync(this);
3444
}
3545
}
3646

3747
namespace Sample.SampleRequest
3848
{
39-
partial class Sample2Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.Sample2Response>
49+
partial class SampleRequest2: Sample.SampleRequest.ISampleRequest
4050
{
4151
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync(Sample.SampleRequest.ISampleRequestVisitor visitor) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync(this);
4252
}
4353
}
54+
55+
namespace Sample.SampleRequest
56+
{
57+
partial class SampleRequest3: Sample.SampleRequest.ISampleRequest
58+
{
59+
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync(Sample.SampleRequest.ISampleRequestVisitor visitor) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync((Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.SampleResponse3>)this);
60+
}
61+
}

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.SampleRequest.ISampleRequestVisitor1`1.cs

+24-6
Original file line numberDiff line numberDiff line change
@@ -12,32 +12,50 @@ namespace Sample.SampleRequest
1212
{
1313
partial interface ISampleRequestVisitor1<in TArg1>
1414
{
15-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.Sample3Request value, TArg1 arg1);
16-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.Sample1Response> VisitAsync(Sample.SampleRequest.Sample1Request value, TArg1 arg1);
17-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.Sample2Response> VisitAsync(Sample.SampleRequest.Sample2Request value, TArg1 arg1);
15+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.SampleRequest5 value, TArg1 arg1);
16+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.ISampleResponse> value, TArg1 arg1);
17+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse1> VisitAsync(Sample.SampleRequest.SampleRequest1 value, TArg1 arg1);
18+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse2> VisitAsync(Sample.SampleRequest.SampleRequest2 value, TArg1 arg1);
19+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse3> VisitAsync(Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.SampleResponse3> value, TArg1 arg1);
1820
}
1921
}
2022

2123
namespace Sample.SampleRequest
2224
{
23-
partial class Sample3Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.ISampleResponse>
25+
partial class SampleRequest5: Sample.SampleRequest.ISampleRequest
2426
{
2527
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1>(Sample.SampleRequest.ISampleRequestVisitor1<TArg1> visitor, TArg1 arg1) => await visitor.VisitAsync(this, arg1);
2628
}
2729
}
2830

2931
namespace Sample.SampleRequest
3032
{
31-
partial class Sample1Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.Sample1Response>
33+
partial class SampleRequest4: Sample.SampleRequest.ISampleRequest
34+
{
35+
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1>(Sample.SampleRequest.ISampleRequestVisitor1<TArg1> visitor, TArg1 arg1) => await visitor.VisitAsync((Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.ISampleResponse>)this, arg1);
36+
}
37+
}
38+
39+
namespace Sample.SampleRequest
40+
{
41+
partial class SampleRequest1: Sample.SampleRequest.ISampleRequest
3242
{
3343
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1>(Sample.SampleRequest.ISampleRequestVisitor1<TArg1> visitor, TArg1 arg1) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync(this, arg1);
3444
}
3545
}
3646

3747
namespace Sample.SampleRequest
3848
{
39-
partial class Sample2Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.Sample2Response>
49+
partial class SampleRequest2: Sample.SampleRequest.ISampleRequest
4050
{
4151
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1>(Sample.SampleRequest.ISampleRequestVisitor1<TArg1> visitor, TArg1 arg1) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync(this, arg1);
4252
}
4353
}
54+
55+
namespace Sample.SampleRequest
56+
{
57+
partial class SampleRequest3: Sample.SampleRequest.ISampleRequest
58+
{
59+
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1>(Sample.SampleRequest.ISampleRequestVisitor1<TArg1> visitor, TArg1 arg1) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync((Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.SampleResponse3>)this, arg1);
60+
}
61+
}

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.SampleRequest.ISampleRequestVisitor2`2.cs

+24-6
Original file line numberDiff line numberDiff line change
@@ -12,32 +12,50 @@ namespace Sample.SampleRequest
1212
{
1313
partial interface ISampleRequestVisitor2<in TArg1, in TArg2>
1414
{
15-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.Sample3Request value, TArg1 arg1, TArg2 arg2);
16-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.Sample1Response> VisitAsync(Sample.SampleRequest.Sample1Request value, TArg1 arg1, TArg2 arg2);
17-
System.Threading.Tasks.ValueTask<Sample.SampleResponse.Sample2Response> VisitAsync(Sample.SampleRequest.Sample2Request value, TArg1 arg1, TArg2 arg2);
15+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.SampleRequest5 value, TArg1 arg1, TArg2 arg2);
16+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> VisitAsync(Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.ISampleResponse> value, TArg1 arg1, TArg2 arg2);
17+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse1> VisitAsync(Sample.SampleRequest.SampleRequest1 value, TArg1 arg1, TArg2 arg2);
18+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse2> VisitAsync(Sample.SampleRequest.SampleRequest2 value, TArg1 arg1, TArg2 arg2);
19+
System.Threading.Tasks.ValueTask<Sample.SampleResponse.SampleResponse3> VisitAsync(Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.SampleResponse3> value, TArg1 arg1, TArg2 arg2);
1820
}
1921
}
2022

2123
namespace Sample.SampleRequest
2224
{
23-
partial class Sample3Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.ISampleResponse>
25+
partial class SampleRequest5: Sample.SampleRequest.ISampleRequest
2426
{
2527
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1, TArg2>(Sample.SampleRequest.ISampleRequestVisitor2<TArg1, TArg2> visitor, TArg1 arg1, TArg2 arg2) => await visitor.VisitAsync(this, arg1, arg2);
2628
}
2729
}
2830

2931
namespace Sample.SampleRequest
3032
{
31-
partial class Sample1Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.Sample1Response>
33+
partial class SampleRequest4: Sample.SampleRequest.ISampleRequest
34+
{
35+
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1, TArg2>(Sample.SampleRequest.ISampleRequestVisitor2<TArg1, TArg2> visitor, TArg1 arg1, TArg2 arg2) => await visitor.VisitAsync((Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.ISampleResponse>)this, arg1, arg2);
36+
}
37+
}
38+
39+
namespace Sample.SampleRequest
40+
{
41+
partial class SampleRequest1: Sample.SampleRequest.ISampleRequest
3242
{
3343
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1, TArg2>(Sample.SampleRequest.ISampleRequestVisitor2<TArg1, TArg2> visitor, TArg1 arg1, TArg2 arg2) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync(this, arg1, arg2);
3444
}
3545
}
3646

3747
namespace Sample.SampleRequest
3848
{
39-
partial class Sample2Request: Sample.SampleRequest.ISampleRequest, Sample.IVisitorResult<Sample.SampleResponse.Sample2Response>
49+
partial class SampleRequest2: Sample.SampleRequest.ISampleRequest
4050
{
4151
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1, TArg2>(Sample.SampleRequest.ISampleRequestVisitor2<TArg1, TArg2> visitor, TArg1 arg1, TArg2 arg2) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync(this, arg1, arg2);
4252
}
4353
}
54+
55+
namespace Sample.SampleRequest
56+
{
57+
partial class SampleRequest3: Sample.SampleRequest.ISampleRequest
58+
{
59+
async System.Threading.Tasks.ValueTask<Sample.SampleResponse.ISampleResponse> Sample.SampleRequest.ISampleRequest.AcceptAsync<TArg1, TArg2>(Sample.SampleRequest.ISampleRequestVisitor2<TArg1, TArg2> visitor, TArg1 arg1, TArg2 arg2) => (Sample.SampleResponse.ISampleResponse)await visitor.VisitAsync((Sample.SampleRequest.ISampleRequest<Sample.SampleResponse.SampleResponse3>)this, arg1, arg2);
60+
}
61+
}

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.SampleRequest.ISampleRequestVisitor2`4.cs

-43
This file was deleted.

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.SampleRequest.ISampleRequestVisitor3`3.cs

-43
This file was deleted.

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.SampleRequest.ISampleRequestVisitor4`2.cs

-43
This file was deleted.

Sample/Sample/GeneratedFiles/VisitorPatternGenerator/VisitorPatternGenerator.VisitorPatternGenerator/Sample.SampleResponse.ISampleResponse.cs

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
namespace Sample.SampleResponse
44
{
5-
[MessagePack.Union(1, typeof(Sample.SampleResponse.Sample1Response))]
6-
[MessagePack.Union(2, typeof(Sample.SampleResponse.Sample2Response))]
5+
[MessagePack.Union(1, typeof(Sample.SampleResponse.SampleResponse1))]
6+
[MessagePack.Union(2, typeof(Sample.SampleResponse.SampleResponse2))]
7+
[MessagePack.Union(3, typeof(Sample.SampleResponse.SampleResponse3))]
8+
[MessagePack.Union(4, typeof(Sample.SampleResponse.SampleResponse4))]
79
partial interface ISampleResponse { }
810
}

0 commit comments

Comments
 (0)