110 references to DiagDescriptors
Microsoft.Gen.Logging (43)
Parsing\Parser.cs (29)
145
Diag(
DiagDescriptors
.CantUseDataClassificationWithLogPropertiesOrTagProvider, paramSymbol.GetLocation());
151
Diag(
DiagDescriptors
.CantMixAttributes, paramSymbol.GetLocation());
163
Diag(
DiagDescriptors
.DefaultToString, paramSymbol.GetLocation(), paramSymbol.Type, paramSymbol.Name);
176
Diag(
DiagDescriptors
.ShouldntMentionLoggerInMessage, attrLoc, lp.ParameterName);
181
Diag(
DiagDescriptors
.ShouldntMentionExceptionInMessage, attrLoc, lp.ParameterName);
186
Diag(
DiagDescriptors
.ShouldntMentionLogLevelInMessage, attrLoc, lp.ParameterName);
191
Diag(
DiagDescriptors
.ParameterHasNoCorrespondingTemplate, paramSymbol.GetLocation(), lp.ParameterName);
203
Diag(
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate, paramSymbol.GetLocation(), lp.ParameterName, lm.Name);
222
Diag(
DiagDescriptors
.MissingLoggerParameter, method.ParameterList.GetLocation(), lm.Name);
227
Diag(
DiagDescriptors
.LoggingMethodShouldBeStatic, method.Identifier.GetLocation());
238
Diag(
DiagDescriptors
.MultipleLoggerMembers, secondLoggerMember.GetLocation(), typeDec.Identifier.Text);
243
Diag(
DiagDescriptors
.MissingLoggerMember, method.Identifier.GetLocation(), typeDec.Identifier.Text);
255
Diag(
DiagDescriptors
.MissingLogLevel, method.GetLocation());
267
Diag(
DiagDescriptors
.EmptyLoggingMethod, method.Identifier.GetLocation(), methodSymbol.Name);
288
Diag(
DiagDescriptors
.TemplateHasNoCorrespondingParameter, attrLoc, t);
399
Diag(
DiagDescriptors
.MalformedFormatStrings, method.Identifier.GetLocation(), method.Identifier.ToString());
406
Diag(
DiagDescriptors
.LoggingMethodMustReturnVoid, method.ReturnType.GetLocation());
416
Diag(
DiagDescriptors
.LoggingMethodHasAllowsRefStructConstraint, method.Identifier.GetLocation());
431
Diag(
DiagDescriptors
.LoggingMethodHasBody, method.Body.GetLocation());
436
Diag(
DiagDescriptors
.LoggingMethodMustBePartial, method.Identifier.GetLocation());
445
Diag(
DiagDescriptors
.ShouldntReuseEventIds, attrLoc, lm.EventId.Value, methodSymbol.ContainingType.Name);
454
Diag(
DiagDescriptors
.ShouldntReuseEventNames, attrLoc, lm.EventName, methodSymbol.ContainingType.Name);
468
Diag(
DiagDescriptors
.RedundantQualifierInMessage, attrLoc, methodSymbol.Name);
560
Diag(
DiagDescriptors
.TagNameCollision, parameterSymbols[parameter].GetLocation(), parameter.ParameterName, fullName, lm.Name);
566
Diag(
DiagDescriptors
.TagNameCollision, parameterSymbols[parameter].GetLocation(), parameter.ParameterName, parameter.TagName, lm.Name);
604
Diag(
DiagDescriptors
.LoggingMethodParameterParams, paramSymbol.GetLocation(), paramName);
620
Diag(
DiagDescriptors
.LoggingMethodParameterRefKind, paramSymbol.GetLocation(), paramSymbol.ContainingSymbol.Name, paramName);
626
Diag(
DiagDescriptors
.LoggingMethodParameterParams, paramSymbol.GetLocation(), paramName);
798
Diag(
DiagDescriptors
.PrimaryConstructorParameterLoggerHidden, parameter.GetLocation(), classDec.Identifier.Text);
Parsing\Parser.LogProperties.cs (9)
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);
294
Diag(
DiagDescriptors
.InvalidAttributeUsage, tagProviderAttribute.ApplicationSyntaxReference?.GetSyntax(_cancellationToken).GetLocation(), "TagProvider");
320
Diag(
DiagDescriptors
.DefaultToString, property.GetLocation(), property.Type, property.Name);
350
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)
85
diagCallback(
DiagDescriptors
.MissingRequiredType, null, new object[] { ExceptionType });
Microsoft.Gen.Logging.Unit.Tests (67)
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 (19)
28
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodHasBody);
56
await RunGenerator(Source,
DiagDescriptors
.MissingLoggerParameter);
70
await RunGenerator(Source,
DiagDescriptors
.MissingLoggerMember);
154
await RunGenerator(Source,
DiagDescriptors
.MultipleLoggerMembers);
170
await RunGenerator(Source,
DiagDescriptors
.PrimaryConstructorParameterLoggerHidden,
171
ignoreDiag:
DiagDescriptors
.MissingLoggerMember);
187
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodMustReturnVoid);
201
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodShouldBeStatic);
219
await RunGenerator(Source,
DiagDescriptors
.EmptyLoggingMethod);
235
await RunGenerator(Source,
DiagDescriptors
.EmptyLoggingMethod);
271
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodMustBePartial);
337
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodHasAllowsRefStructConstraint);
351
await RunGenerator(source,
DiagDescriptors
.LoggingMethodParameterRefKind);
364
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodParameterParams);
390
await RunGenerator(Source,
DiagDescriptors
.LoggingMethodParameterParams);
475
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate,
476
ignoreDiag:
DiagDescriptors
.ParameterHasNoCorrespondingTemplate);
498
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate);
516
DiagDescriptors
.RecordTypeSensitiveArgumentIsInTemplate);
ParserTests.LogProperties.cs (12)
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);
334
await RunGenerator(source,
DiagDescriptors
.InvalidTypeToLogProperties);
377
await RunGenerator(source,
DiagDescriptors
.LogPropertiesCycleDetected);
400
await RunGenerator(Source,
DiagDescriptors
.LogPropertiesHiddenPropertyDetected);
440
}",
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);