119 references to DiagDescriptors
Microsoft.Gen.Logging (44)
Parsing\Parser.cs (29)
149
Diag(
DiagDescriptors
.CantUseDataClassificationWithLogPropertiesOrTagProvider, paramSymbol.GetLocation());
155
Diag(
DiagDescriptors
.CantMixAttributes, paramSymbol.GetLocation());
167
Diag(
DiagDescriptors
.DefaultToString, paramSymbol.GetLocation(), paramSymbol.Type, paramSymbol.Name);
180
Diag(
DiagDescriptors
.ShouldntMentionLoggerInMessage, attrLoc, lp.ParameterName);
185
Diag(
DiagDescriptors
.ShouldntMentionExceptionInMessage, attrLoc, lp.ParameterName);
190
Diag(
DiagDescriptors
.ShouldntMentionLogLevelInMessage, attrLoc, lp.ParameterName);
195
Diag(
DiagDescriptors
.ParameterHasNoCorrespondingTemplate, paramSymbol.GetLocation(), lp.ParameterName);
207
Diag(
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate, paramSymbol.GetLocation(), lp.ParameterName, lm.Name);
226
Diag(
DiagDescriptors
.MissingLoggerParameter, method.ParameterList.GetLocation(), lm.Name);
231
Diag(
DiagDescriptors
.LoggingMethodShouldBeStatic, method.Identifier.GetLocation());
242
Diag(
DiagDescriptors
.MultipleLoggerMembers, secondLoggerMember.GetLocation(), typeDec.Identifier.Text);
247
Diag(
DiagDescriptors
.MissingLoggerMember, method.Identifier.GetLocation(), typeDec.Identifier.Text);
259
Diag(
DiagDescriptors
.MissingLogLevel, method.GetLocation());
271
Diag(
DiagDescriptors
.EmptyLoggingMethod, method.Identifier.GetLocation(), methodSymbol.Name);
292
Diag(
DiagDescriptors
.TemplateHasNoCorrespondingParameter, attrLoc, t);
403
Diag(
DiagDescriptors
.MalformedFormatStrings, method.Identifier.GetLocation(), method.Identifier.ToString());
410
Diag(
DiagDescriptors
.LoggingMethodMustReturnVoid, method.ReturnType.GetLocation());
420
Diag(
DiagDescriptors
.LoggingMethodHasAllowsRefStructConstraint, method.Identifier.GetLocation());
435
Diag(
DiagDescriptors
.LoggingMethodHasBody, method.Body.GetLocation());
440
Diag(
DiagDescriptors
.LoggingMethodMustBePartial, method.Identifier.GetLocation());
449
Diag(
DiagDescriptors
.ShouldntReuseEventIds, attrLoc, lm.EventId.Value, methodSymbol.ContainingType.Name);
458
Diag(
DiagDescriptors
.ShouldntReuseEventNames, attrLoc, lm.EventName, methodSymbol.ContainingType.Name);
472
Diag(
DiagDescriptors
.RedundantQualifierInMessage, attrLoc, methodSymbol.Name);
564
Diag(
DiagDescriptors
.TagNameCollision, parameterSymbols[parameter].GetLocation(), parameter.ParameterName, fullName, lm.Name);
570
Diag(
DiagDescriptors
.TagNameCollision, parameterSymbols[parameter].GetLocation(), parameter.ParameterName, parameter.TagName, lm.Name);
608
Diag(
DiagDescriptors
.LoggingMethodParameterParams, paramSymbol.GetLocation(), paramName);
624
Diag(
DiagDescriptors
.LoggingMethodParameterRefKind, paramSymbol.GetLocation(), paramSymbol.ContainingSymbol.Name, paramName);
630
Diag(
DiagDescriptors
.LoggingMethodParameterParams, paramSymbol.GetLocation(), paramName);
802
Diag(
DiagDescriptors
.PrimaryConstructorParameterLoggerHidden, parameter.GetLocation(), classDec.Identifier.Text);
Parsing\Parser.LogProperties.cs (10)
32
Diag(
DiagDescriptors
.LogPropertiesInvalidUsage, paramSymbol.GetLocation(), paramName);
66
Diag(
DiagDescriptors
.LogPropertiesParameterSkipped, paramSymbol.GetLocation(), paramTypeSymbol.Name, paramName);
151
Diag(
DiagDescriptors
.CantMixAttributes, property.GetLocation());
243
Diag(
DiagDescriptors
.LogPropertiesHiddenPropertyDetected, paramSymbol.GetLocation(), paramName, lm.Name, property.Name);
254
Diag(
DiagDescriptors
.InvalidAttributeUsage, logPropertiesAttribute.ApplicationSyntaxReference?.GetSyntax(_cancellationToken).GetLocation(), "LogProperties");
263
Diag(
DiagDescriptors
.LogPropertiesCycleDetected, paramSymbol.GetLocation(), paramName, namedType.ToDisplayString(), property.Type.ToDisplayString(), lm.Name);
280
Diag(
DiagDescriptors
.LogPropertiesCycleDetected, paramSymbol.GetLocation(), paramName, namedType.ToDisplayString(), property.Type.ToDisplayString(), lm.Name);
302
Diag(
DiagDescriptors
.InvalidAttributeUsage, tagProviderAttribute.ApplicationSyntaxReference?.GetSyntax(_cancellationToken).GetLocation(), "TagProvider");
328
Diag(
DiagDescriptors
.DefaultToString, property.GetLocation(), property.Type, property.Name);
358
Diag(
DiagDescriptors
.InvalidTypeToLogProperties, sym.GetLocation(), symType.ToDisplayString());
Parsing\Parser.TagProvider.cs (4)
22
Diag(
DiagDescriptors
.TagProviderInvalidUsage, paramSymbol.GetLocation(), paramName);
110
Diag(
DiagDescriptors
.TagProviderMethodInaccessible, attrLocation, providerMethodName, providerType.ToString());
117
Diag(
DiagDescriptors
.TagProviderMethodInvalidSignature, attrLocation,
125
Diag(
DiagDescriptors
.TagProviderMethodNotFound, attrLocation, providerMethodName, providerType.ToString());
Parsing\SymbolLoader.cs (1)
86
diagCallback(
DiagDescriptors
.MissingRequiredType, null, new object[] { ExceptionType });
Microsoft.Gen.Logging.Unit.Tests (75)
AttributeParserTests.cs (4)
226
Assert.Equal(
DiagDescriptors
.MissingLoggerParameter.Id, diagnostics[0].Id);
254
Assert.Equal(
DiagDescriptors
.LoggingMethodShouldBeStatic.Id, diagnostics[0].Id);
276
Assert.Equal(
DiagDescriptors
.CantUseDataClassificationWithLogPropertiesOrTagProvider.Id, diagnostics[0].Id);
306
Assert.Equal(
DiagDescriptors
.CantUseDataClassificationWithLogPropertiesOrTagProvider.Id, diagnostics[0].Id);
DiagDescriptorsTests.cs (1)
17
var type = typeof(
DiagDescriptors
);
EmitterTests.cs (5)
57
=> diag.Id !=
DiagDescriptors
.ShouldntMentionExceptionInMessage.Id
58
&& diag.Id !=
DiagDescriptors
.ShouldntMentionLoggerInMessage.Id
59
&& diag.Id !=
DiagDescriptors
.ShouldntMentionLogLevelInMessage.Id
60
&& diag.Id !=
DiagDescriptors
.EmptyLoggingMethod.Id
61
&& diag.Id !=
DiagDescriptors
.ParameterHasNoCorrespondingTemplate.Id);
LogParserUtilitiesTests.cs (1)
197
diagMock.Verify(x => x.Invoke(It.Is<Diagnostic>(d => d.Id ==
DiagDescriptors
.LogPropertiesParameterSkipped.Id)), Times.Once);
ParserTests.cs (13)
201
await RunGenerator(Source,
DiagDescriptors
.MissingLogLevel);
215
await RunGenerator(Source,
DiagDescriptors
.MissingLogLevel);
229
await RunGenerator(Source,
DiagDescriptors
.ParameterHasNoCorrespondingTemplate);
243
await RunGenerator(Source,
DiagDescriptors
.TemplateHasNoCorrespondingParameter);
300
await RunGenerator(Source,
DiagDescriptors
.RedundantQualifierInMessage);
314
await RunGenerator(Source,
DiagDescriptors
.ShouldntMentionExceptionInMessage);
328
await RunGenerator(Source,
DiagDescriptors
.ShouldntMentionLogLevelInMessage);
342
await RunGenerator(Source,
DiagDescriptors
.ShouldntMentionLoggerInMessage);
405
await RunGenerator(Source,
DiagDescriptors
.MissingRequiredType, false, includeBaseReferences: false, includeLoggingReferences: false);
431
await RunGenerator(Source,
DiagDescriptors
.MissingRequiredType, wrap: false, includeLoggingReferences: false);
490
await RunGenerator(Source,
DiagDescriptors
.ShouldntReuseEventIds);
507
await RunGenerator(Source,
DiagDescriptors
.ShouldntReuseEventNames);
588
",
DiagDescriptors
.MalformedFormatStrings);
ParserTests.LogMethod.cs (23)
29
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodHasBody);
57
await RunGenerator(Source,
DiagDescriptors
.MissingLoggerParameter);
71
await RunGenerator(Source,
DiagDescriptors
.MissingLoggerMember);
155
await RunGenerator(Source,
DiagDescriptors
.MultipleLoggerMembers);
171
await RunGenerator(Source,
DiagDescriptors
.PrimaryConstructorParameterLoggerHidden,
172
ignoreDiag:
DiagDescriptors
.MissingLoggerMember);
188
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodMustReturnVoid);
202
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodShouldBeStatic);
220
await RunGenerator(Source,
DiagDescriptors
.EmptyLoggingMethod);
236
await RunGenerator(Source,
DiagDescriptors
.EmptyLoggingMethod);
272
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodMustBePartial);
338
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodHasAllowsRefStructConstraint);
352
await RunGenerator(source,
DiagDescriptors
.LoggingMethodParameterRefKind);
365
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodParameterParams);
391
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodParameterParams);
476
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate,
477
ignoreDiag:
DiagDescriptors
.ParameterHasNoCorrespondingTemplate);
499
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate);
517
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate);
597
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate);
615
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate);
634
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate);
648
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate);
ParserTests.LogProperties.cs (16)
48
}",
DiagDescriptors
.InvalidAttributeUsage);
66
await RunGenerator(Source,
DiagDescriptors
.TagNameCollision);
117
await RunGenerator(source,
DiagDescriptors
.LogPropertiesInvalidUsage);
168
await RunGenerator(source,
DiagDescriptors
.LogPropertiesParameterSkipped);
203
await RunGenerator(Source,
DiagDescriptors
.LogPropertiesParameterSkipped);
216
await RunGenerator(Source,
DiagDescriptors
.TagNameCollision);
240
await RunGenerator(Source,
DiagDescriptors
.TagNameCollision);
266
await RunGenerator(Source,
DiagDescriptors
.TagNameCollision);
335
await RunGenerator(source,
DiagDescriptors
.InvalidTypeToLogProperties);
378
await RunGenerator(source,
DiagDescriptors
.LogPropertiesCycleDetected);
409
await RunGenerator(source,
DiagDescriptors
.LogPropertiesCycleDetected);
438
await RunGenerator(source,
DiagDescriptors
.LogPropertiesCycleDetected);
459
await RunGenerator(source,
DiagDescriptors
.LogPropertiesCycleDetected);
488
await RunGenerator(Source,
DiagDescriptors
.LogPropertiesCycleDetected);
529
await RunGenerator(Source,
DiagDescriptors
.LogPropertiesHiddenPropertyDetected);
569
}",
DiagDescriptors
.DefaultToString);
ParserTests.TagProvider.cs (12)
40
}",
DiagDescriptors
.InvalidAttributeUsage);
75
}",
DiagDescriptors
.CantMixAttributes);
122
await RunGenerator(source,
DiagDescriptors
.TagProviderInvalidUsage);
153
await RunGenerator(source,
DiagDescriptors
.TagProviderMethodNotFound);
187
await RunGenerator(source,
DiagDescriptors
.TagProviderMethodNotFound);
216
await RunGenerator(Source,
DiagDescriptors
.TagProviderMethodNotFound);
241
await RunGenerator(Source,
DiagDescriptors
.TagProviderMethodInvalidSignature);
287
await RunGenerator(Source,
DiagDescriptors
.TagProviderMethodInvalidSignature);
315
await RunGenerator(source,
DiagDescriptors
.TagProviderMethodInvalidSignature);
348
await RunGenerator(source,
DiagDescriptors
.TagProviderMethodInvalidSignature);
376
await RunGenerator(source,
DiagDescriptors
.TagProviderMethodInvalidSignature);
404
await RunGenerator(source,
DiagDescriptors
.TagProviderMethodInaccessible);