127 references to GeneratorDiagnostics
Microsoft.Interop.ComInterfaceGenerator (127)
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 (45)
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);
208
/// <see cref="ComInterfaceContext.GetContexts"/> will emit <see cref="
GeneratorDiagnostics
.BaseInterfaceIsNotGenerated"/>
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)
254
generatorDiagnostics.ReportDiagnostic(DiagnosticInfo.Create(
GeneratorDiagnostics
.ComMethodManagedReturnWillBeOutVariable, symbol.Locations[0]));
291
GeneratorDiagnostics
.HResultTypeWillBeTreatedAsStruct,
309
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallOutParam,
310
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallReturnValue);
ComInterfaceInfo.cs (15)
59
return DiagnosticOrInterfaceInfo.From(DiagnosticInfo.Create(
GeneratorDiagnostics
.RequiresAllowUnsafeBlocks, syntax.Identifier.GetLocation()));
66
GeneratorDiagnostics
.InvalidAttributedInterfaceGenericNotSupported,
77
GeneratorDiagnostics
.InvalidAttributedInterfaceNotAccessible,
129
GeneratorDiagnostics
.BaseInterfaceDefinedInOtherAssembly,
193
GeneratorDiagnostics
.InvalidAttributedInterfaceMissingPartialModifiers,
218
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnInterface,
227
GeneratorDiagnostics
.StringMarshallingCustomTypeNotAccessibleByGeneratedCode,
237
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnInterface,
252
GeneratorDiagnostics
.InvalidStringMarshallingMismatchBetweenBaseAndDerived,
274
GeneratorDiagnostics
.InvalidOptionsOnInterface,
288
GeneratorDiagnostics
.InvalidOptionsOnInterface,
309
GeneratorDiagnostics
.ExceptionToUnmanagedMarshallerNotAccessibleByGeneratedCode,
319
GeneratorDiagnostics
.InvalidExceptionToUnmanagedMarshallerType,
349
GeneratorDiagnostics
.MultipleComInterfaceBaseTypes,
391
GeneratorDiagnostics
.InvalidAttributedInterfaceMissingGuidAttribute,
ComMethodInfo.cs (14)
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())));
240
/// property is reported as <see cref="
GeneratorDiagnostics
.PropertyAccessorsMustBeAllOrNothing"/>.
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,