PropertyChanged.SourceGenerator
PropertyChanged.SourceGenerator copied to clipboard
Overridden methods causes warnings due to missing documentation
Description
When OnPropertyChanged
is overridden in a derived class it does not have XML comments, and so it causes a CS1591
warning.
To Reproduce
Set <GenerateDocumentationFile>true</GenerateDocumentationFile>
in csproj, example with derived class from README - https://github.com/canton7/PropertyChanged.SourceGenerator#automatic-dependencies.
Version Info
- PropertyChanged.SourceGenerator version: 1.0.8
- Roslyn Version: Compiler version: '4.6.0-3.23259.8 (c3cc1d0c)'. Language version: 11.0.
Additional Info
In this case just adding /// <inheritdoc />
would be enough, and users of the library would be able to add the documentation if needed. I'm not sure if there are any other places where public/protected members could be generated. Another possibility might be to just add #pragma warning disable CS1591
in all generated files.
I checked the source code, and I guess what's missing is an else
clause for this if
statement https://github.com/canton7/PropertyChanged.SourceGenerator/blob/94690bbaa71d8e7c6c1bc9e7e3b3f63b4b15dbc6/src/PropertyChanged.SourceGenerator/Generator.cs#L130C11-L130C11.
Something like
if (interfaceAnalysis.RaiseMethodType != RaisePropertyChangedMethodType.Override)
{
// existing logic
}
else
{
this.writer.WriteLine($"/// <inheritdoc />");
}