diff --git a/src/Generators/Microsoft.Gen.Metrics/Parser.cs b/src/Generators/Microsoft.Gen.Metrics/Parser.cs index c0c0d6481e1..680bf579f2c 100644 --- a/src/Generators/Microsoft.Gen.Metrics/Parser.cs +++ b/src/Generators/Microsoft.Gen.Metrics/Parser.cs @@ -574,7 +574,7 @@ private bool CheckMethodReturnType(IMethodSymbol methodSymbol) returnType.TypeKind != TypeKind.Error) { // Make sure return type is not from existing known type - Diag(DiagDescriptors.ErrorInvalidMethodReturnType, methodSymbol.ReturnType.GetLocation(), methodSymbol.Name); + Diag(DiagDescriptors.ErrorInvalidMethodReturnType, returnType.GetLocation(), returnType.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat)); return false; } diff --git a/test/Generators/Microsoft.Gen.Metrics/Unit/ParserTests.cs b/test/Generators/Microsoft.Gen.Metrics/Unit/ParserTests.cs index d6496ac10f3..54a19ea2e86 100644 --- a/test/Generators/Microsoft.Gen.Metrics/Unit/ParserTests.cs +++ b/test/Generators/Microsoft.Gen.Metrics/Unit/ParserTests.cs @@ -81,6 +81,7 @@ class CustomClass {{ }} _ = Assert.Single(d); Assert.Equal(DiagDescriptors.ErrorInvalidMethodReturnType.Id, d[0].Id); + Assert.Contains($"must not return '{returnType}'", d[0].GetMessage()); } [Theory]