125 references to GeneratorDiagnostics
Microsoft.Interop.ComInterfaceGenerator (125)
Analyzers\AddMarshalAsToElementFixer.cs (1)
20
public override ImmutableArray<string> FixableDiagnosticIds => ImmutableArray.Create(
GeneratorDiagnostics
.Ids.NotRecommendedGeneratedComInterfaceUsage);
Analyzers\ComClassGeneratorDiagnosticsAnalyzer.cs (6)
20
GeneratorDiagnostics
.RequiresAllowUnsafeBlocks,
21
GeneratorDiagnostics
.InvalidAttributedClassMissingPartialModifier,
22
GeneratorDiagnostics
.ClassDoesNotImplementAnyGeneratedComInterface);
70
yield return Diagnostic.Create(
GeneratorDiagnostics
.RequiresAllowUnsafeBlocks, location);
79
GeneratorDiagnostics
.InvalidAttributedClassMissingPartialModifier,
102
GeneratorDiagnostics
.ClassDoesNotImplementAnyGeneratedComInterface,
Analyzers\ComInterfaceGeneratorDiagnosticsAnalyzer.cs (44)
23
GeneratorDiagnostics
.RequiresAllowUnsafeBlocks,
24
GeneratorDiagnostics
.InvalidAttributedInterfaceGenericNotSupported,
25
GeneratorDiagnostics
.InvalidAttributedInterfaceMissingPartialModifiers,
26
GeneratorDiagnostics
.InvalidAttributedInterfaceNotAccessible,
27
GeneratorDiagnostics
.InvalidAttributedInterfaceMissingGuidAttribute,
28
GeneratorDiagnostics
.InvalidStringMarshallingMismatchBetweenBaseAndDerived,
29
GeneratorDiagnostics
.InvalidOptionsOnInterface,
30
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnInterface,
31
GeneratorDiagnostics
.InvalidExceptionToUnmanagedMarshallerType,
32
GeneratorDiagnostics
.StringMarshallingCustomTypeNotAccessibleByGeneratedCode,
33
GeneratorDiagnostics
.ExceptionToUnmanagedMarshallerNotAccessibleByGeneratedCode,
34
GeneratorDiagnostics
.MultipleComInterfaceBaseTypes,
35
GeneratorDiagnostics
.BaseInterfaceIsNotGenerated,
36
GeneratorDiagnostics
.BaseInterfaceDefinedInOtherAssembly,
38
GeneratorDiagnostics
.MethodNotDeclaredInAttributedInterface,
39
GeneratorDiagnostics
.InstanceEventDeclaredInInterface,
40
GeneratorDiagnostics
.InvalidAttributedMethodSignature,
41
GeneratorDiagnostics
.InvalidPropertyDeclarationOnGeneratedComInterface,
42
GeneratorDiagnostics
.PropertyAccessorsMustBeAllOrNothing,
43
GeneratorDiagnostics
.CannotAnalyzeMethodPattern,
44
GeneratorDiagnostics
.CannotAnalyzeInterfacePattern,
46
GeneratorDiagnostics
.ConfigurationNotSupported,
47
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnMethod,
48
GeneratorDiagnostics
.ParameterTypeNotSupported,
49
GeneratorDiagnostics
.ReturnTypeNotSupported,
50
GeneratorDiagnostics
.ParameterTypeNotSupportedWithDetails,
51
GeneratorDiagnostics
.ReturnTypeNotSupportedWithDetails,
52
GeneratorDiagnostics
.ParameterConfigurationNotSupported,
53
GeneratorDiagnostics
.ReturnConfigurationNotSupported,
54
GeneratorDiagnostics
.MarshalAsParameterConfigurationNotSupported,
55
GeneratorDiagnostics
.MarshalAsReturnConfigurationNotSupported,
56
GeneratorDiagnostics
.ConfigurationValueNotSupported,
57
GeneratorDiagnostics
.MarshallingAttributeConfigurationNotSupported,
58
GeneratorDiagnostics
.UnnecessaryParameterMarshallingInfo,
59
GeneratorDiagnostics
.UnnecessaryReturnMarshallingInfo,
60
GeneratorDiagnostics
.ComMethodManagedReturnWillBeOutVariable,
61
GeneratorDiagnostics
.HResultTypeWillBeTreatedAsStruct,
62
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallOutParam,
63
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallReturnValue,
64
GeneratorDiagnostics
.InvalidExceptionMarshallingConfiguration,
65
GeneratorDiagnostics
.MarshalUsingOnPropertyAccessorMustSpecifyType,
66
GeneratorDiagnostics
.MarshalAttributeOnDefaultImplementedComInterfaceMember,
67
GeneratorDiagnostics
.GeneratedComInterfaceUsageDoesNotFollowBestPractices);
255
DiagnosticInfo.Create(
GeneratorDiagnostics
.CannotAnalyzeInterfacePattern, sym.Locations.FirstOrDefault() ?? Location.None, sym.Name));
Analyzers\GeneratedComInterfaceAttributeAnalyzer.cs (2)
21
= ImmutableArray.Create(
GeneratorDiagnostics
.InterfaceTypeNotSupported);
44
context.ReportDiagnostic(comInterfaceAttribute.CreateDiagnosticInfo(
GeneratorDiagnostics
.InterfaceTypeNotSupported, unsupportedValue).ToDiagnostic());
Analyzers\VtableIndexStubDiagnosticsAnalyzer.cs (23)
19
GeneratorDiagnostics
.InvalidAttributedMethodSignature,
20
GeneratorDiagnostics
.InvalidAttributedMethodContainingTypeMissingModifiers,
21
GeneratorDiagnostics
.ReturnConfigurationNotSupported,
22
GeneratorDiagnostics
.InvalidAttributedMethodContainingTypeMissingUnmanagedObjectUnwrapperAttribute,
23
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnMethod,
24
GeneratorDiagnostics
.InvalidExceptionMarshallingConfiguration,
25
GeneratorDiagnostics
.ConfigurationNotSupported,
26
GeneratorDiagnostics
.ParameterTypeNotSupported,
27
GeneratorDiagnostics
.ReturnTypeNotSupported,
28
GeneratorDiagnostics
.ParameterTypeNotSupportedWithDetails,
29
GeneratorDiagnostics
.ReturnTypeNotSupportedWithDetails,
30
GeneratorDiagnostics
.ParameterConfigurationNotSupported,
31
GeneratorDiagnostics
.MarshalAsParameterConfigurationNotSupported,
32
GeneratorDiagnostics
.MarshalAsReturnConfigurationNotSupported,
33
GeneratorDiagnostics
.ConfigurationValueNotSupported,
34
GeneratorDiagnostics
.MarshallingAttributeConfigurationNotSupported,
35
GeneratorDiagnostics
.UnnecessaryParameterMarshallingInfo,
36
GeneratorDiagnostics
.UnnecessaryReturnMarshallingInfo,
37
GeneratorDiagnostics
.GeneratedComInterfaceUsageDoesNotFollowBestPractices);
116
return DiagnosticInfo.Create(
GeneratorDiagnostics
.InvalidAttributedMethodSignature, methodSyntax.Identifier.GetLocation(), method.Name);
124
return DiagnosticInfo.Create(
GeneratorDiagnostics
.InvalidAttributedMethodContainingTypeMissingModifiers, methodSyntax.Identifier.GetLocation(), method.Name, typeDecl.Identifier);
131
return DiagnosticInfo.Create(
GeneratorDiagnostics
.ReturnConfigurationNotSupported, methodSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
137
return DiagnosticInfo.Create(
GeneratorDiagnostics
.InvalidAttributedMethodContainingTypeMissingUnmanagedObjectUnwrapperAttribute, methodSyntax.Identifier.GetLocation(), method.Name);
ComInterfaceContext.cs (1)
72
GeneratorDiagnostics
.BaseInterfaceIsNotGenerated,
ComInterfaceGenerator.cs (4)
250
generatorDiagnostics.ReportDiagnostic(DiagnosticInfo.Create(
GeneratorDiagnostics
.ComMethodManagedReturnWillBeOutVariable, symbol.Locations[0]));
263
GeneratorDiagnostics
.HResultTypeWillBeTreatedAsStruct,
281
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallOutParam,
282
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallReturnValue);
ComInterfaceInfo.cs (15)
65
return DiagnosticOrInterfaceInfo.From(DiagnosticInfo.Create(
GeneratorDiagnostics
.RequiresAllowUnsafeBlocks, syntax.Identifier.GetLocation()));
72
GeneratorDiagnostics
.InvalidAttributedInterfaceGenericNotSupported,
83
GeneratorDiagnostics
.InvalidAttributedInterfaceNotAccessible,
138
GeneratorDiagnostics
.BaseInterfaceDefinedInOtherAssembly,
202
GeneratorDiagnostics
.InvalidAttributedInterfaceMissingPartialModifiers,
227
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnInterface,
236
GeneratorDiagnostics
.StringMarshallingCustomTypeNotAccessibleByGeneratedCode,
246
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnInterface,
261
GeneratorDiagnostics
.InvalidStringMarshallingMismatchBetweenBaseAndDerived,
283
GeneratorDiagnostics
.InvalidOptionsOnInterface,
297
GeneratorDiagnostics
.InvalidOptionsOnInterface,
318
GeneratorDiagnostics
.ExceptionToUnmanagedMarshallerNotAccessibleByGeneratedCode,
328
GeneratorDiagnostics
.InvalidExceptionToUnmanagedMarshallerType,
358
GeneratorDiagnostics
.MultipleComInterfaceBaseTypes,
400
GeneratorDiagnostics
.InvalidAttributedInterfaceMissingGuidAttribute,
ComMethodInfo.cs (13)
77
methods.Add(DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(member.CreateDiagnosticInfo(
GeneratorDiagnostics
.InstanceEventDeclaredInInterface, member.Name, data.ifaceSymbol.ToDisplayString())));
124
diagnostic = DiagnosticInfo.Create(
GeneratorDiagnostics
.InvalidAttributedMethodSignature, comMethodDeclaringSyntax.Identifier.GetLocation(), method.Name);
131
diagnostic = DiagnosticInfo.Create(
GeneratorDiagnostics
.ReturnConfigurationNotSupported, comMethodDeclaringSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
187
methods.Add(DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(DiagnosticInfo.Create(
GeneratorDiagnostics
.MethodNotDeclaredInAttributedInterface, method.Locations.FirstOrDefault(), method.ToDisplayString())));
204
methods.Add(DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(DiagnosticInfo.Create(
GeneratorDiagnostics
.CannotAnalyzeMethodPattern, method.Locations.FirstOrDefault(), method.ToDisplayString())));
276
DiagnosticInfo.Create(
GeneratorDiagnostics
.MethodNotDeclaredInAttributedInterface, property.Locations.FirstOrDefault(), property.ToDisplayString())));
296
DiagnosticInfo.Create(
GeneratorDiagnostics
.CannotAnalyzeMethodPattern, property.Locations.FirstOrDefault(), property.ToDisplayString())));
429
GeneratorDiagnostics
.InvalidPropertyDeclarationOnGeneratedComInterface,
451
GeneratorDiagnostics
.InvalidPropertyDeclarationOnGeneratedComInterface,
493
GeneratorDiagnostics
.PropertyAccessorsMustBeAllOrNothing,
511
GeneratorDiagnostics
.ReturnConfigurationNotSupported,
525
GeneratorDiagnostics
.MarshalUsingOnPropertyAccessorMustSpecifyType,
633
GeneratorDiagnostics
.MarshalAttributeOnDefaultImplementedComInterfaceMember,
DiagnosticDescriptorProvider.cs (12)
13
public DiagnosticDescriptor InvalidMarshallingAttributeInfo =>
GeneratorDiagnostics
.MarshallingAttributeConfigurationNotSupported;
15
public DiagnosticDescriptor ConfigurationNotSupported =>
GeneratorDiagnostics
.ConfigurationNotSupported;
17
public DiagnosticDescriptor ConfigurationValueNotSupported =>
GeneratorDiagnostics
.ConfigurationValueNotSupported;
23
GeneratorDiagnostic.NotSupported { NotSupportedDetails: null, TypePositionInfo: { IsManagedReturnPosition: true, MarshallingAttributeInfo: MarshalAsInfo } } =>
GeneratorDiagnostics
.MarshalAsReturnConfigurationNotSupported,
24
GeneratorDiagnostic.NotSupported { NotSupportedDetails: null, TypePositionInfo: { IsManagedReturnPosition: false, MarshallingAttributeInfo: MarshalAsInfo } } =>
GeneratorDiagnostics
.MarshalAsParameterConfigurationNotSupported,
25
GeneratorDiagnostic.NotSupported { NotSupportedDetails: not null, TypePositionInfo.IsManagedReturnPosition: true } =>
GeneratorDiagnostics
.ReturnTypeNotSupportedWithDetails,
26
GeneratorDiagnostic.NotSupported { NotSupportedDetails: not null, TypePositionInfo.IsManagedReturnPosition: false } =>
GeneratorDiagnostics
.ParameterTypeNotSupportedWithDetails,
27
GeneratorDiagnostic.UnnecessaryData { TypePositionInfo.IsManagedReturnPosition: false } =>
GeneratorDiagnostics
.UnnecessaryParameterMarshallingInfo,
28
GeneratorDiagnostic.UnnecessaryData { TypePositionInfo.IsManagedReturnPosition: true } =>
GeneratorDiagnostics
.UnnecessaryReturnMarshallingInfo,
29
GeneratorDiagnostic.NotRecommended =>
GeneratorDiagnostics
.GeneratedComInterfaceUsageDoesNotFollowBestPractices,
31
{ TypePositionInfo.IsManagedReturnPosition: true } =>
GeneratorDiagnostics
.ReturnTypeNotSupported,
32
{ TypePositionInfo.IsManagedReturnPosition: false } =>
GeneratorDiagnostics
.ParameterTypeNotSupported,
GeneratorDiagnostics.cs (4)
244
GeneratorDiagnostics
.Ids.ConfigurationNotSupported,
255
GeneratorDiagnostics
.Ids.ConfigurationNotSupported,
578
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnMethod,
596
GeneratorDiagnostics
.InvalidExceptionMarshallingConfiguration,