PropertyChanged.SourceGenerator icon indicating copy to clipboard operation
PropertyChanged.SourceGenerator copied to clipboard

Overridden methods causes warnings due to missing documentation

Open VMelnalksnis opened this issue 1 year ago • 1 comments

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.

VMelnalksnis avatar Jun 27 '23 12:06 VMelnalksnis

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 />");
}

VMelnalksnis avatar Jun 29 '23 04:06 VMelnalksnis