213 references to DiagnosticId
ILLink.CodeFixProvider (47)
DynamicallyAccessedMembersCodeFixProvider.cs (34)
29
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsParameter));
30
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsMethodReturnType));
31
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsField));
32
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsThisParameter));
34
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsParameter));
35
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsMethodReturnType));
36
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsField));
37
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsThisParameter));
39
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsParameter));
40
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsMethodReturnType));
41
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsField));
42
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsThisParameter));
44
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsParameter));
45
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsMethodReturnType));
46
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsField));
47
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsThisParameter));
49
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsParameter));
50
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsMethodReturnType));
51
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsField));
52
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsThisParameter));
53
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsGenericParameter));
54
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnMethodParameterBetweenOverrides));
55
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnMethodReturnValueBetweenOverrides));
71
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsParameter.AsString(),
72
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsMethodReturnType.AsString(),
73
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsField.AsString(),
74
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsThisParameter.AsString(),
75
DiagnosticId
.DynamicallyAccessedMembersMismatchOnMethodReturnValueBetweenOverrides.AsString()
79
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsParameter.AsString(),
80
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsMethodReturnType.AsString(),
81
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsField.AsString(),
82
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsThisParameter.AsString(),
83
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsGenericParameter.AsString(),
84
DiagnosticId
.DynamicallyAccessedMembersMismatchOnGenericParameterBetweenOverrides.AsString()
RequiresAssemblyFilesCodeFixProvider.cs (3)
21
DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.AvoidAssemblyLocationInSingleFile),
22
DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.AvoidAssemblyGetFilesInSingleFile),
23
DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresAssemblyFiles));
RequiresDynamicCodeCodeFixProvider.cs (1)
20
public static ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics => ImmutableArray.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresDynamicCode));
RequiresUnreferencedCodeCodeFixProvider.cs (1)
20
public static ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics => ImmutableArray.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnreferencedCode));
RequiresUnsafeCodeFixProvider.cs (1)
28
public static ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics => ImmutableArray.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnsafe));
UnconditionalSuppressMessageCodeFixProvider.cs (6)
25
=> (new
DiagnosticId
[] {
26
DiagnosticId
.RequiresUnreferencedCode,
27
DiagnosticId
.AvoidAssemblyLocationInSingleFile,
28
DiagnosticId
.AvoidAssemblyGetFilesInSingleFile,
29
DiagnosticId
.RequiresAssemblyFiles,
30
DiagnosticId
.RequiresDynamicCode }).Select(d => d.AsString()).ToImmutableArray();
UnsafeMethodMissingRequiresUnsafeCodeFixProvider.cs (1)
25
ImmutableArray.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.UnsafeMethodMissingRequiresUnsafe));
ILLink.RoslynAnalyzer (166)
COMAnalyzer.cs (1)
22
private static readonly DiagnosticDescriptor s_correctnessOfCOMCannotBeGuaranteed = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.CorrectnessOfCOMCannotBeGuaranteed,
DiagnosticDescriptors.cs (3)
11
public static DiagnosticDescriptor GetDiagnosticDescriptor(
DiagnosticId
diagnosticId)
23
public static DiagnosticDescriptor GetDiagnosticDescriptor(
DiagnosticId
diagnosticId, DiagnosticString diagnosticString)
32
public static DiagnosticDescriptor GetDiagnosticDescriptor(
DiagnosticId
diagnosticId,
DynamicallyAccessedMembersAnalyzer.cs (47)
43
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnreferencedCode));
44
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersIsNotAllowedOnMethods));
45
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersIsNotAllowedOnExtensionProperties));
46
AddRange(
DiagnosticId
.MethodParameterCannotBeStaticallyDetermined,
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsGenericParameter);
47
AddRange(
DiagnosticId
.DynamicallyAccessedMembersOnFieldCanOnlyApplyToTypesOrStrings,
DiagnosticId
.DynamicallyAccessedMembersOnPropertyCanOnlyApplyToTypesOrStrings);
48
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnMethodReturnValueCanOnlyApplyToTypesOrStrings));
49
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersFieldAccessedViaReflection));
50
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMethodAccessedViaReflection));
51
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnTypeReferencesMemberWithRequiresUnreferencedCode));
52
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnTypeReferencesMemberOnBaseWithRequiresUnreferencedCode));
53
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnTypeReferencesMemberWithDynamicallyAccessedMembers));
54
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnTypeReferencesMemberOnBaseWithDynamicallyAccessedMembers));
55
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.UnrecognizedTypeInRuntimeHelpersRunClassConstructor));
56
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnMethodReturnValueBetweenOverrides));
57
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnMethodParameterBetweenOverrides));
58
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnGenericParameterBetweenOverrides));
59
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnImplicitThisBetweenOverrides));
60
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersConflictsBetweenPropertyAndAccessor));
61
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.PropertyAccessorParameterInLinqExpressionsCannotBeStaticallyDetermined));
62
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.MakeGenericType));
63
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.MakeGenericMethod));
64
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.CaseInsensitiveTypeGetTypeCallIsNotSupported));
65
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.UnrecognizedTypeNameInTypeGetType));
66
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.UnrecognizedParameterInMethodCreateInstance));
67
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.ParametersOfAssemblyCreateInstanceCannotBeAnalyzed));
68
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.TypeNameIsNotAssemblyQualified));
69
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.ReturnValueDoesNotMatchFeatureGuards));
70
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.InvalidFeatureGuard));
71
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.TypeMapGroupTypeCannotBeStaticallyDetermined));
72
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DataflowAnalysisDidNotConverge));
82
void AddRange(
DiagnosticId
first,
DiagnosticId
last)
89
diagDescriptorsArrayBuilder.Add(DiagnosticDescriptors.GetDiagnosticDescriptor((
DiagnosticId
)i));
128
DiagnosticId
.DataflowAnalysisDidNotConverge,
185
context.ReportDiagnostic(Diagnostic.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnFieldCanOnlyApplyToTypesOrStrings), location, member.GetDisplayName()));
189
context.ReportDiagnostic(Diagnostic.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnMethodReturnValueCanOnlyApplyToTypesOrStrings), location, member.GetDisplayName()));
191
context.ReportDiagnostic(Diagnostic.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersIsNotAllowedOnMethods), location));
195
context.ReportDiagnostic(Diagnostic.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnMethodParameterCanOnlyApplyToTypesOrStrings), location, parameter.GetDisplayName(), member.GetDisplayName()));
201
context.ReportDiagnostic(Diagnostic.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersOnPropertyCanOnlyApplyToTypesOrStrings), location, member.GetDisplayName()));
203
context.ReportDiagnostic(Diagnostic.Create(DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersIsNotAllowedOnExtensionProperties), location, member.GetDisplayName()));
236
DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnMethodReturnValueBetweenOverrides),
260
DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnMethodParameterBetweenOverrides),
286
DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnGenericParameterBetweenOverrides),
301
DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchOnImplicitThisBetweenOverrides),
348
DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersConflictsBetweenPropertyAndAccessor),
RequiresAnalyzerBase.cs (1)
32
private protected abstract
DiagnosticId
RequiresDiagnosticId { get; }
RequiresAssemblyFilesAnalyzer.cs (10)
22
private static readonly DiagnosticDescriptor s_locationRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.AvoidAssemblyLocationInSingleFile,
25
private static readonly DiagnosticDescriptor s_getFilesRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.AvoidAssemblyGetFilesInSingleFile,
28
private static readonly DiagnosticDescriptor s_requiresAssemblyFilesRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresAssemblyFiles,
31
private static readonly DiagnosticDescriptor s_requiresAssemblyFilesAttributeMismatch = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresAssemblyFilesAttributeMismatch);
33
private static readonly DiagnosticDescriptor s_requiresAssemblyFilesOnStaticCtor = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresAssemblyFilesOnStaticConstructor);
35
private static readonly DiagnosticDescriptor s_requiresAssemblyFilesOnEntryPoint = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresAssemblyFilesOnEntryPoint);
47
private protected override
DiagnosticId
RequiresDiagnosticId =>
DiagnosticId
.RequiresAssemblyFiles;
117
diagnosticContext.AddDiagnostic(
DiagnosticId
.AvoidAssemblyGetFilesInSingleFile, member.GetDisplayName());
123
diagnosticContext.AddDiagnostic(
DiagnosticId
.AvoidAssemblyLocationInSingleFile, member.GetDisplayName());
RequiresDynamicCodeAnalyzer.cs (7)
22
private static readonly DiagnosticDescriptor s_requiresDynamicCodeOnStaticCtor = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresDynamicCodeOnStaticConstructor);
23
private static readonly DiagnosticDescriptor s_requiresDynamicCodeOnEntryPoint = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresDynamicCodeOnEntryPoint);
24
private static readonly DiagnosticDescriptor s_requiresDynamicCodeRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresDynamicCode);
25
private static readonly DiagnosticDescriptor s_requiresDynamicCodeAttributeMismatch = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresDynamicCodeAttributeMismatch);
26
private static readonly DiagnosticDescriptor s_referenceNotMarkedIsAotCompatibleRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.ReferenceNotMarkedIsAotCompatible);
39
private protected override
DiagnosticId
RequiresDiagnosticId =>
DiagnosticId
.RequiresDynamicCode;
RequiresUnreferencedCodeAnalyzer.cs (10)
25
private static readonly DiagnosticDescriptor s_requiresUnreferencedCodeRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnreferencedCode);
26
private static readonly DiagnosticDescriptor s_requiresUnreferencedCodeAttributeMismatch = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnreferencedCodeAttributeMismatch);
27
private static readonly DiagnosticDescriptor s_makeGenericTypeRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.MakeGenericType);
28
private static readonly DiagnosticDescriptor s_makeGenericMethodRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.MakeGenericMethod);
29
private static readonly DiagnosticDescriptor s_requiresUnreferencedCodeOnStaticCtor = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnreferencedCodeOnStaticConstructor);
30
private static readonly DiagnosticDescriptor s_requiresUnreferencedCodeOnEntryPoint = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnreferencedCodeOnEntryPoint);
32
private static readonly DiagnosticDescriptor s_referenceNotMarkedIsTrimmableRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.ReferenceNotMarkedIsTrimmable);
34
private static readonly DiagnosticDescriptor s_dynamicallyAccessedMembersMismatchTypeArgumentTargetsGenericParameterRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsGenericParameter);
47
private protected override
DiagnosticId
RequiresDiagnosticId =>
DiagnosticId
.RequiresUnreferencedCode;
RequiresUnsafeAnalyzer.cs (6)
22
private static readonly DiagnosticDescriptor s_requiresUnsafeOnStaticCtor = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnsafeOnStaticConstructor);
23
private static readonly DiagnosticDescriptor s_requiresUnsafeOnEntryPoint = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnsafeOnEntryPoint);
24
private static readonly DiagnosticDescriptor s_requiresUnsafeRule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnsafe);
25
private static readonly DiagnosticDescriptor s_requiresUnsafeAttributeMismatch = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.RequiresUnsafeAttributeMismatch);
38
private protected override
DiagnosticId
RequiresDiagnosticId =>
DiagnosticId
.RequiresUnsafe;
src\runtime\src\tools\illink\src\ILLink.Shared\Annotations.cs (32)
87
public static (
DiagnosticId
Id, string[] Arguments) GetDiagnosticForAnnotationMismatch(ValueWithDynamicallyAccessedMembers source, ValueWithDynamicallyAccessedMembers target, string missingAnnotations)
100
DiagnosticId
diagnosticId = (source, target) switch
102
(MethodParameterValue maybeThisSource, MethodParameterValue maybeThisTarget) when maybeThisSource.IsThisParameter() && maybeThisTarget.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsThisParameter,
103
(MethodParameterValue maybeThis, MethodParameterValue) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsParameter,
104
(MethodParameterValue maybeThis, MethodReturnValue) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsMethodReturnType,
105
(MethodParameterValue maybeThis, FieldValue) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsField,
106
(MethodParameterValue maybeThis, GenericParameterValue) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchThisParameterTargetsGenericParameter,
107
(MethodParameterValue, MethodParameterValue maybeThis) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsThisParameter,
108
(MethodParameterValue, MethodParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsParameter,
109
(MethodParameterValue, MethodReturnValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsMethodReturnType,
110
(MethodParameterValue, FieldValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsField,
111
(MethodParameterValue, GenericParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchParameterTargetsGenericParameter,
112
(MethodReturnValue, MethodParameterValue maybeThis) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsThisParameter,
113
(MethodReturnValue, MethodParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsParameter,
114
(MethodReturnValue, MethodReturnValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsMethodReturnType,
115
(MethodReturnValue, FieldValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsField,
116
(MethodReturnValue, GenericParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchMethodReturnTypeTargetsGenericParameter,
117
(FieldValue, MethodParameterValue maybeThis) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsThisParameter,
118
(FieldValue, MethodParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsParameter,
119
(FieldValue, MethodReturnValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsMethodReturnType,
120
(FieldValue, FieldValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsField,
121
(FieldValue, GenericParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchFieldTargetsGenericParameter,
122
(GenericParameterValue, MethodParameterValue maybeThis) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsThisParameter,
123
(GenericParameterValue, MethodParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsParameter,
124
(GenericParameterValue, MethodReturnValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsMethodReturnType,
125
(GenericParameterValue, FieldValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsField,
126
(GenericParameterValue, GenericParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsGenericParameter,
127
(NullableValueWithDynamicallyAccessedMembers, MethodParameterValue maybeThis) when maybeThis.IsThisParameter() =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsThisParameter,
128
(NullableValueWithDynamicallyAccessedMembers, MethodParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsParameter,
129
(NullableValueWithDynamicallyAccessedMembers, MethodReturnValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsMethodReturnType,
130
(NullableValueWithDynamicallyAccessedMembers, FieldValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsField,
131
(NullableValueWithDynamicallyAccessedMembers, GenericParameterValue) =>
DiagnosticId
.DynamicallyAccessedMembersMismatchTypeArgumentTargetsGenericParameter,
src\runtime\src\tools\illink\src\ILLink.Shared\DiagnosticId.cs (6)
236
public static string AsString(this
DiagnosticId
diagnosticId) => $"IL{(int)diagnosticId}";
238
public static string GetDiagnosticSubcategory(this
DiagnosticId
diagnosticId) =>
253
>= 2109 and < (int)
DiagnosticId
._EndTrimAnalysisWarningsSentinel => MessageSubCategory.TrimAnalysis,
257
>= 5000 and < (int)
DiagnosticId
._EndRequiresUnsafeWarningsSentinel => MessageSubCategory.None,
262
public static string GetDiagnosticCategory(this
DiagnosticId
diagnosticId) =>
271
public static string? GetHelpUri(this
DiagnosticId
diagnosticId) =>
src\runtime\src\tools\illink\src\ILLink.Shared\DiagnosticString.cs (1)
16
public DiagnosticString(
DiagnosticId
diagnosticId)
src\runtime\src\tools\illink\src\ILLink.Shared\TrimAnalysis\DiagnosticContext.cs (2)
22
public partial void AddDiagnostic(
DiagnosticId
id, params string[] args);
28
public partial void AddDiagnostic(
DiagnosticId
id, ValueWithDynamicallyAccessedMembers actualValue, ValueWithDynamicallyAccessedMembers expectedAnnotationsValue, params string[] args);
src\runtime\src\tools\illink\src\ILLink.Shared\TrimAnalysis\HandleCallAction.cs (13)
402
_diagnosticContext.AddDiagnostic(
DiagnosticId
.UnrecognizedTypeInRuntimeHelpersRunClassConstructor, calledMethod.GetDisplayName());
907
_diagnosticContext.AddDiagnostic(
DiagnosticId
.PropertyAccessorParameterInLinqExpressionsCannotBeStaticallyDetermined,
1004
_diagnosticContext.AddDiagnostic(
DiagnosticId
.MakeGenericMethod, calledMethod.GetDisplayName());
1017
_diagnosticContext.AddDiagnostic(
DiagnosticId
.MakeGenericMethod, calledMethod.GetDisplayName());
1077
_diagnosticContext.AddDiagnostic(
DiagnosticId
.CaseInsensitiveTypeGetTypeCallIsNotSupported, calledMethod.GetDisplayName());
1109
_diagnosticContext.AddDiagnostic(
DiagnosticId
.UnrecognizedTypeNameInTypeGetType, calledMethod.GetDisplayName());
1189
_diagnosticContext.AddDiagnostic(
DiagnosticId
.MakeGenericType, calledMethod.GetDisplayName());
1201
_diagnosticContext.AddDiagnostic(
DiagnosticId
.MakeGenericType, calledMethod.GetDisplayName());
1388
_diagnosticContext.AddDiagnostic(
DiagnosticId
.MakeGenericMethod, calledMethod.GetDisplayName());
1543
_diagnosticContext.AddDiagnostic(
DiagnosticId
.ParametersOfAssemblyCreateInstanceCannotBeAnalyzed, calledMethod.GetDisplayName());
1744
_diagnosticContext.AddDiagnostic(
DiagnosticId
.MakeGenericMethod, reflectionMethod.GetDisplayName());
1807
_diagnosticContext.AddDiagnostic(
DiagnosticId
.UnrecognizedParameterInMethodCreateInstance, new ParameterProxy(calledMethod, (ParameterIndex)1 + offset).GetDisplayName(), calledMethod.GetDisplayName());
1813
_diagnosticContext.AddDiagnostic(
DiagnosticId
.UnrecognizedParameterInMethodCreateInstance, new ParameterProxy(calledMethod, (ParameterIndex)0 + offset).GetDisplayName(), calledMethod.GetDisplayName());
src\runtime\src\tools\illink\src\ILLink.Shared\TrimAnalysis\RequireDynamicallyAccessedMembersAction.cs (7)
56
(
var
diagnosticId, var diagnosticArguments) = Annotations.GetDiagnosticForAnnotationMismatch(valueWithDynamicallyAccessedMembers, targetValue, missingMemberTypes);
86
DiagnosticId
diagnosticId = targetValue switch
88
MethodParameterValue maybeThis when maybeThis.IsThisParameter() =>
DiagnosticId
.ImplicitThisCannotBeStaticallyDetermined,
89
MethodParameterValue =>
DiagnosticId
.MethodParameterCannotBeStaticallyDetermined,
90
MethodReturnValue =>
DiagnosticId
.MethodReturnValueCannotBeStaticallyDetermined,
91
FieldValue =>
DiagnosticId
.FieldValueCannotBeStaticallyDetermined,
92
GenericParameterValue =>
DiagnosticId
.TypePassedToGenericParameterCannotBeStaticallyDetermined,
TrimAnalysis\DiagnosticContext.cs (4)
25
private Diagnostic CreateDiagnostic(
DiagnosticId
id, params string[] args)
30
public partial void AddDiagnostic(
DiagnosticId
id, params string[] args)
38
public partial void AddDiagnostic(
DiagnosticId
id, ValueWithDynamicallyAccessedMembers actualValue, ValueWithDynamicallyAccessedMembers expectedAnnotationsValue, params string[] args)
46
private Diagnostic CreateDiagnostic(
DiagnosticId
id, ValueWithDynamicallyAccessedMembers actualValue, ValueWithDynamicallyAccessedMembers expectedAnnotationsValue, params string[] args)
TrimAnalysis\FeatureCheckReturnValuePattern.cs (2)
44
DiagnosticId
.InvalidFeatureGuard);
65
DiagnosticId
.ReturnValueDoesNotMatchFeatureGuards,
TrimAnalysis\HandleCallAction.cs (2)
205
_diagnosticContext.AddDiagnostic(
DiagnosticId
.TypeMapGroupTypeCannotBeStaticallyDetermined,
323
_diagnosticContext.AddDiagnostic(
DiagnosticId
.RequiresUnreferencedCode, calledMethod.GetDisplayName(), message, url);
TrimAnalysis\ReflectionAccessAnalyzer.cs (10)
100
diagnosticContext.AddDiagnostic(
DiagnosticId
.RequiresUnreferencedCode, member.GetDisplayName(), message, url);
153
var
id = reportOnMember ?
DiagnosticId
.DynamicallyAccessedMembersOnTypeReferencesMemberWithRequiresUnreferencedCode :
DiagnosticId
.DynamicallyAccessedMembersOnTypeReferencesMemberOnBaseWithRequiresUnreferencedCode;
162
var
id = reportOnMember ?
DiagnosticId
.DynamicallyAccessedMembersOnTypeReferencesMemberWithDynamicallyAccessedMembers :
DiagnosticId
.DynamicallyAccessedMembersOnTypeReferencesMemberOnBaseWithDynamicallyAccessedMembers;
172
diagnosticContext.AddDiagnostic(
DiagnosticId
.DynamicallyAccessedMembersMethodAccessedViaReflection, methodSymbol.GetDisplayName());
180
diagnosticContext.AddDiagnostic(
DiagnosticId
.DynamicallyAccessedMembersMethodAccessedViaReflection, methodSymbol.GetDisplayName());
219
diagnosticContext.AddDiagnostic(
DiagnosticId
.DynamicallyAccessedMembersFieldAccessedViaReflection, fieldSymbol.GetDisplayName());
TrimAnalysis\TypeNameResolver.cs (1)
38
diagnosticContext.AddDiagnostic(
DiagnosticId
.TypeNameIsNotAssemblyQualified, typeNameString);
UnsafeMethodMissingRequiresUnsafeAnalyzer.cs (1)
15
private static readonly DiagnosticDescriptor s_rule = DiagnosticDescriptors.GetDiagnosticDescriptor(
DiagnosticId
.UnsafeMethodMissingRequiresUnsafe, diagnosticSeverity: DiagnosticSeverity.Info);