Skip to content

Commit cc065ac

Browse files
committed
Add basic comment to Union class.
1 parent 0fd6fe6 commit cc065ac

2 files changed

Lines changed: 48 additions & 0 deletions

File tree

Dasher/UnionTypes.cs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ namespace Dasher
3232
{
3333
// NOTE this file is generated
3434

35+
/// <summary>
36+
/// Models a value which may be of one of 2 types.
37+
/// </summary>
3538
public abstract class Union<T1, T2>
3639
{
3740
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2);
@@ -82,6 +85,9 @@ private sealed class Type2 : Union<T1, T2>
8285
}
8386
}
8487

88+
/// <summary>
89+
/// Models a value which may be of one of 3 types.
90+
/// </summary>
8591
public abstract class Union<T1, T2, T3>
8692
{
8793
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3);
@@ -148,6 +154,9 @@ private sealed class Type3 : Union<T1, T2, T3>
148154
}
149155
}
150156

157+
/// <summary>
158+
/// Models a value which may be of one of 4 types.
159+
/// </summary>
151160
public abstract class Union<T1, T2, T3, T4>
152161
{
153162
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4);
@@ -230,6 +239,9 @@ private sealed class Type4 : Union<T1, T2, T3, T4>
230239
}
231240
}
232241

242+
/// <summary>
243+
/// Models a value which may be of one of 5 types.
244+
/// </summary>
233245
public abstract class Union<T1, T2, T3, T4, T5>
234246
{
235247
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5);
@@ -328,6 +340,9 @@ private sealed class Type5 : Union<T1, T2, T3, T4, T5>
328340
}
329341
}
330342

343+
/// <summary>
344+
/// Models a value which may be of one of 6 types.
345+
/// </summary>
331346
public abstract class Union<T1, T2, T3, T4, T5, T6>
332347
{
333348
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6);
@@ -442,6 +457,9 @@ private sealed class Type6 : Union<T1, T2, T3, T4, T5, T6>
442457
}
443458
}
444459

460+
/// <summary>
461+
/// Models a value which may be of one of 7 types.
462+
/// </summary>
445463
public abstract class Union<T1, T2, T3, T4, T5, T6, T7>
446464
{
447465
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7);
@@ -572,6 +590,9 @@ private sealed class Type7 : Union<T1, T2, T3, T4, T5, T6, T7>
572590
}
573591
}
574592

593+
/// <summary>
594+
/// Models a value which may be of one of 8 types.
595+
/// </summary>
575596
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8>
576597
{
577598
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8);
@@ -718,6 +739,9 @@ private sealed class Type8 : Union<T1, T2, T3, T4, T5, T6, T7, T8>
718739
}
719740
}
720741

742+
/// <summary>
743+
/// Models a value which may be of one of 9 types.
744+
/// </summary>
721745
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8, T9>
722746
{
723747
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8, Func<T9, T> func9);
@@ -880,6 +904,9 @@ private sealed class Type9 : Union<T1, T2, T3, T4, T5, T6, T7, T8, T9>
880904
}
881905
}
882906

907+
/// <summary>
908+
/// Models a value which may be of one of 10 types.
909+
/// </summary>
883910
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
884911
{
885912
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8, Func<T9, T> func9, Func<T10, T> func10);
@@ -1058,6 +1085,9 @@ private sealed class Type10 : Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
10581085
}
10591086
}
10601087

1088+
/// <summary>
1089+
/// Models a value which may be of one of 11 types.
1090+
/// </summary>
10611091
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
10621092
{
10631093
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8, Func<T9, T> func9, Func<T10, T> func10, Func<T11, T> func11);
@@ -1252,6 +1282,9 @@ private sealed class Type11 : Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
12521282
}
12531283
}
12541284

1285+
/// <summary>
1286+
/// Models a value which may be of one of 12 types.
1287+
/// </summary>
12551288
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
12561289
{
12571290
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8, Func<T9, T> func9, Func<T10, T> func10, Func<T11, T> func11, Func<T12, T> func12);
@@ -1462,6 +1495,9 @@ private sealed class Type12 : Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
14621495
}
14631496
}
14641497

1498+
/// <summary>
1499+
/// Models a value which may be of one of 13 types.
1500+
/// </summary>
14651501
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
14661502
{
14671503
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8, Func<T9, T> func9, Func<T10, T> func10, Func<T11, T> func11, Func<T12, T> func12, Func<T13, T> func13);
@@ -1688,6 +1724,9 @@ private sealed class Type13 : Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
16881724
}
16891725
}
16901726

1727+
/// <summary>
1728+
/// Models a value which may be of one of 14 types.
1729+
/// </summary>
16911730
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
16921731
{
16931732
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8, Func<T9, T> func9, Func<T10, T> func10, Func<T11, T> func11, Func<T12, T> func12, Func<T13, T> func13, Func<T14, T> func14);
@@ -1930,6 +1969,9 @@ private sealed class Type14 : Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
19301969
}
19311970
}
19321971

1972+
/// <summary>
1973+
/// Models a value which may be of one of 15 types.
1974+
/// </summary>
19331975
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
19341976
{
19351977
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8, Func<T9, T> func9, Func<T10, T> func10, Func<T11, T> func11, Func<T12, T> func12, Func<T13, T> func13, Func<T14, T> func14, Func<T15, T> func15);
@@ -2188,6 +2230,9 @@ private sealed class Type15 : Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
21882230
}
21892231
}
21902232

2233+
/// <summary>
2234+
/// Models a value which may be of one of 16 types.
2235+
/// </summary>
21912236
public abstract class Union<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
21922237
{
21932238
public abstract T Match<T>(Func<T1, T> func1, Func<T2, T> func2, Func<T3, T> func3, Func<T4, T> func4, Func<T5, T> func5, Func<T6, T> func6, Func<T7, T> func7, Func<T8, T> func8, Func<T9, T> func9, Func<T10, T> func10, Func<T11, T> func11, Func<T12, T> func12, Func<T13, T> func13, Func<T14, T> func14, Func<T15, T> func15, Func<T16, T> func16);

Dasher/UnionTypes.tt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ for (var level = 2; level <= 16; level++)
4444
var actionMatchArgs = string.Join(", ", Enumerable.Range(1, level).Select(n => $"Action<T{n}> action{n}"));
4545
#>
4646

47+
/// <summary>
48+
/// Models a value which may be of one of <#= level #> types.
49+
/// </summary>
4750
public abstract class <#= unionName #>
4851
{
4952
public abstract T Match<T>(<#=funcMatchArgs#>);

0 commit comments

Comments
 (0)