Skip to content

Commit 3b2d287

Browse files
committed
Add /// <inheritdoc/> to generated type hierarchies
1 parent b8df95a commit 3b2d287

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

src/CommunityToolkit.Mvvm.SourceGenerators/Models/HierarchyInfo.Syntax.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@ public CompilationUnitSyntax GetCompilationUnit(
3030
// Create the partial type declaration with the given member declarations.
3131
// This code produces a class declaration as follows:
3232
//
33+
// /// <inheritdoc/>
3334
// partial <TYPE_KIND> TYPE_NAME>
3435
// {
3536
// <MEMBERS>
3637
// }
3738
TypeDeclarationSyntax typeDeclarationSyntax =
3839
Hierarchy[0].GetSyntax()
39-
.AddModifiers(Token(SyntaxKind.PartialKeyword))
40+
.AddModifiers(Token(TriviaList(Comment("/// <inheritdoc/>")), SyntaxKind.PartialKeyword, TriviaList()))
4041
.AddMembers(memberDeclarations.ToArray());
4142

4243
// Add the base list, if present
@@ -50,7 +51,7 @@ public CompilationUnitSyntax GetCompilationUnit(
5051
{
5152
typeDeclarationSyntax =
5253
parentType.GetSyntax()
53-
.AddModifiers(Token(SyntaxKind.PartialKeyword))
54+
.AddModifiers(Token(TriviaList(Comment("/// <inheritdoc/>")), SyntaxKind.PartialKeyword, TriviaList()))
5455
.AddMembers(typeDeclarationSyntax);
5556
}
5657

tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/Test_SourceGeneratorsCodegen.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ partial class MyViewModel : ObservableObject
4242
#nullable enable
4343
namespace MyApp
4444
{
45+
/// <inheritdoc/>
4546
partial class MyViewModel
4647
{
4748
/// <inheritdoc cref="name"/>
@@ -98,6 +99,7 @@ public string Name
9899
#nullable enable
99100
namespace MyApp
100101
{
102+
/// <inheritdoc/>
101103
partial class MyViewModel
102104
{
103105
/// <inheritdoc cref="name"/>
@@ -175,6 +177,7 @@ partial class MyViewModel : ObservableObject
175177
#nullable enable
176178
namespace MyApp
177179
{
180+
/// <inheritdoc/>
178181
partial class MyViewModel
179182
{
180183
/// <inheritdoc cref="id"/>
@@ -252,6 +255,7 @@ partial class MyViewModel<T> : ObservableObject
252255
#nullable enable
253256
namespace MyApp
254257
{
258+
/// <inheritdoc/>
255259
partial class MyViewModel<T>
256260
{
257261
/// <inheritdoc cref="content"/>
@@ -308,6 +312,7 @@ public T Content
308312
#nullable enable
309313
namespace MyApp
310314
{
315+
/// <inheritdoc/>
311316
partial class MyViewModel<T>
312317
{
313318
/// <inheritdoc cref="content"/>
@@ -390,6 +395,7 @@ partial class MyViewModel<T> : ObservableObject
390395
#nullable enable
391396
namespace MyApp
392397
{
398+
/// <inheritdoc/>
393399
partial class MyViewModel<T>
394400
{
395401
/// <inheritdoc cref="content"/>
@@ -446,6 +452,7 @@ public T Content
446452
#nullable enable
447453
namespace MyApp
448454
{
455+
/// <inheritdoc/>
449456
partial class MyViewModel<T>
450457
{
451458
/// <inheritdoc cref="content"/>
@@ -525,6 +532,7 @@ partial class MyViewModel<T> : ObservableObject
525532
#nullable enable
526533
namespace MyApp
527534
{
535+
/// <inheritdoc/>
528536
partial class MyViewModel<T>
529537
{
530538
/// <inheritdoc cref="content"/>
@@ -581,6 +589,7 @@ public T Content
581589
#nullable enable
582590
namespace MyApp
583591
{
592+
/// <inheritdoc/>
584593
partial class MyViewModel<T>
585594
{
586595
/// <inheritdoc cref="content"/>
@@ -659,6 +668,7 @@ partial class MyViewModel<T> : ObservableObject
659668
#nullable enable
660669
namespace MyApp
661670
{
671+
/// <inheritdoc/>
662672
partial class MyViewModel<T>
663673
{
664674
/// <inheritdoc cref="content"/>
@@ -734,6 +744,7 @@ partial class MyViewModel : ObservableObject
734744
#nullable enable
735745
namespace MyApp
736746
{
747+
/// <inheritdoc/>
737748
partial class MyViewModel
738749
{
739750
/// <inheritdoc cref="name"/>
@@ -810,6 +821,7 @@ partial class MyViewModel : ObservableObject
810821
#nullable enable
811822
namespace MyApp
812823
{
824+
/// <inheritdoc/>
813825
partial class MyViewModel
814826
{
815827
/// <inheritdoc cref="id"/>
@@ -886,6 +898,7 @@ partial class MyViewModel<T> : ObservableObject
886898
#nullable enable
887899
namespace MyApp
888900
{
901+
/// <inheritdoc/>
889902
partial class MyViewModel<T>
890903
{
891904
/// <inheritdoc cref="content"/>
@@ -963,6 +976,7 @@ partial class MyViewModel<T> : ObservableObject
963976
#nullable enable
964977
namespace MyApp
965978
{
979+
/// <inheritdoc/>
966980
partial class MyViewModel<T>
967981
{
968982
/// <inheritdoc cref="content"/>
@@ -1040,6 +1054,7 @@ partial class MyViewModel<T> : ObservableObject
10401054
#nullable enable
10411055
namespace MyApp
10421056
{
1057+
/// <inheritdoc/>
10431058
partial class MyViewModel<T>
10441059
{
10451060
/// <inheritdoc cref="content"/>
@@ -1133,6 +1148,7 @@ public DefaultValueAttribute(object value)
11331148
#nullable enable
11341149
namespace MyApp
11351150
{
1151+
/// <inheritdoc/>
11361152
partial class MyViewModel
11371153
{
11381154
/// <inheritdoc cref="a"/>
@@ -1238,6 +1254,7 @@ public DefaultValueAttribute(object value)
12381254
#nullable enable
12391255
namespace MyApp
12401256
{
1257+
/// <inheritdoc/>
12411258
partial class MyViewModel
12421259
{
12431260
/// <summary>The backing field for <see cref="TestCommand"/>.</summary>
@@ -1301,6 +1318,7 @@ private partial void Test2()
13011318
#nullable enable
13021319
namespace MyApp
13031320
{
1321+
/// <inheritdoc/>
13041322
partial class MyViewModel
13051323
{
13061324
/// <summary>The backing field for <see cref="Test1Command"/>.</summary>
@@ -1320,6 +1338,7 @@ partial class MyViewModel
13201338
#nullable enable
13211339
namespace MyApp
13221340
{
1341+
/// <inheritdoc/>
13231342
partial class MyViewModel
13241343
{
13251344
/// <summary>The backing field for <see cref="Test2Command"/>.</summary>
@@ -1386,6 +1405,7 @@ public ValueAttribute(object value)
13861405
#nullable enable
13871406
namespace MyApp
13881407
{
1408+
/// <inheritdoc/>
13891409
partial class MyViewModel
13901410
{
13911411
/// <summary>The backing field for <see cref="Test1Command"/>.</summary>
@@ -1409,6 +1429,7 @@ partial class MyViewModel
14091429
#nullable enable
14101430
namespace MyApp
14111431
{
1432+
/// <inheritdoc/>
14121433
partial class MyViewModel
14131434
{
14141435
/// <summary>The backing field for <see cref="Test2Command"/>.</summary>
@@ -1456,8 +1477,10 @@ partial class MyViewModel<T> : ObservableObject
14561477
#nullable enable
14571478
namespace MyApp
14581479
{
1480+
/// <inheritdoc/>
14591481
partial class Foo
14601482
{
1483+
/// <inheritdoc/>
14611484
partial class MyViewModel<T>
14621485
{
14631486
/// <inheritdoc cref="a"/>

0 commit comments

Comments
 (0)