dotnet/roslyn

Improve file locations in the Roslyn Sarif reports for source generator files

オープン

#51,773 opened on 2021/03/10

 (2 件のコメント) (2 件のリアクション) (0 人の担当者)C# (4,257 件のフォーク)batch import
Area-CompilersBugFeature - Source Generatorshelp wanted

Repository metrics

Stars
 (20,414 個のスター)
PR merge metrics
 (平均マージ 6d 17h) (30d で 256 merged PRs)

説明

Hello,

In the Roslyn Sarif reports the file locations for source generator code are not pointing to the right location on disk, even if EmitCompilerGeneratedFiles is set to true.

In SonarSource we parse these reports in order to import the raised issues and having the full path in the report (similar with the one for non generated code) will help us and the community write better tools which handle these files.

Expected Behavior:

{
  "ruleId": "S1144",
  "level": "warning",
  "message": "Remove the unused private method 'UnusedMethod'.",
  "locations": [
	{
	  "resultFile": {
		"uri": "file:///c:/src/SourceGeneratorPOC\SourceGeneratorPOC\obj\Debug\netcoreapp3.1\generated\SourceGeneratorPOC.Generators\SourceGeneratorPOC.SourceGenerator\Greetings.cs",
		"region": {
		  "startLine": 7,
		  "startColumn": 9,
		  "endLine": 7,
		  "endColumn": 47
		}
	  }
	}
  ],
}

Actual Behavior:

{
  "ruleId": "S1144",
  "level": "warning",
  "message": "Remove the unused private method 'UnusedMethod'.",
  "locations": [
	{
	  "resultFile": {
		"uri": "SourceGeneratorPOC.Generators/SourceGeneratorPOC.SourceGenerator/Greetings.cs",
		"region": {
		  "startLine": 7,
		  "startColumn": 9,
		  "endLine": 7,
		  "endColumn": 47
		}
	  }
	}
  ],
}

Thank you!

コントリビューターガイド