112 references to GeneratorDiagnostics
Microsoft.Interop.ComInterfaceGenerator (112)
Analyzers\AddMarshalAsToElementFixer.cs (1)
20
public override ImmutableArray<string> FixableDiagnosticIds => ImmutableArray.Create(
GeneratorDiagnostics
.Ids.NotRecommendedGeneratedComInterfaceUsage);
Analyzers\ComInterfaceGeneratorDiagnosticsAnalyzer.cs (41)
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
.InstancePropertyDeclaredInInterface,
40
GeneratorDiagnostics
.InstanceEventDeclaredInInterface,
41
GeneratorDiagnostics
.CannotAnalyzeMethodPattern,
42
GeneratorDiagnostics
.CannotAnalyzeInterfacePattern,
44
GeneratorDiagnostics
.ConfigurationNotSupported,
45
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnMethod,
46
GeneratorDiagnostics
.ParameterTypeNotSupported,
47
GeneratorDiagnostics
.ReturnTypeNotSupported,
48
GeneratorDiagnostics
.ParameterTypeNotSupportedWithDetails,
49
GeneratorDiagnostics
.ReturnTypeNotSupportedWithDetails,
50
GeneratorDiagnostics
.ParameterConfigurationNotSupported,
51
GeneratorDiagnostics
.ReturnConfigurationNotSupported,
52
GeneratorDiagnostics
.MarshalAsParameterConfigurationNotSupported,
53
GeneratorDiagnostics
.MarshalAsReturnConfigurationNotSupported,
54
GeneratorDiagnostics
.ConfigurationValueNotSupported,
55
GeneratorDiagnostics
.MarshallingAttributeConfigurationNotSupported,
56
GeneratorDiagnostics
.UnnecessaryParameterMarshallingInfo,
57
GeneratorDiagnostics
.UnnecessaryReturnMarshallingInfo,
58
GeneratorDiagnostics
.ComMethodManagedReturnWillBeOutVariable,
59
GeneratorDiagnostics
.HResultTypeWillBeTreatedAsStruct,
60
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallOutParam,
61
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallReturnValue,
62
GeneratorDiagnostics
.InvalidExceptionMarshallingConfiguration,
63
GeneratorDiagnostics
.GeneratedComInterfaceUsageDoesNotFollowBestPractices);
204
/// <see cref="ComInterfaceContext.GetContexts"/> will emit <see cref="
GeneratorDiagnostics
.BaseInterfaceIsNotGenerated"/>
251
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);
ComClassInfo.cs (3)
30
return DiagnosticOr<ComClassInfo>.From(DiagnosticInfo.Create(
GeneratorDiagnostics
.RequiresAllowUnsafeBlocks, syntax.Identifier.GetLocation()));
37
GeneratorDiagnostics
.InvalidAttributedClassMissingPartialModifier,
58
return DiagnosticOr<ComClassInfo>.From(DiagnosticInfo.Create(
GeneratorDiagnostics
.ClassDoesNotImplementAnyGeneratedComInterface,
ComInterfaceContext.cs (1)
72
GeneratorDiagnostics
.BaseInterfaceIsNotGenerated,
ComInterfaceGenerator.cs (4)
322
generatorDiagnostics.ReportDiagnostic(DiagnosticInfo.Create(
GeneratorDiagnostics
.ComMethodManagedReturnWillBeOutVariable, symbol.Locations[0]));
359
GeneratorDiagnostics
.HResultTypeWillBeTreatedAsStruct,
377
GeneratorDiagnostics
.SizeOfInCollectionMustBeDefinedAtCallOutParam,
378
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 (6)
53
methods.Add(DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(member.CreateDiagnosticInfo(
GeneratorDiagnostics
.InstancePropertyDeclaredInInterface, member.Name, data.ifaceSymbol.ToDisplayString())));
56
methods.Add(DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(member.CreateDiagnosticInfo(
GeneratorDiagnostics
.InstanceEventDeclaredInInterface, member.Name, data.ifaceSymbol.ToDisplayString())));
74
return DiagnosticInfo.Create(
GeneratorDiagnostics
.InvalidAttributedMethodSignature, comMethodDeclaringSyntax.Identifier.GetLocation(), method.Name);
80
return DiagnosticInfo.Create(
GeneratorDiagnostics
.ReturnConfigurationNotSupported, comMethodDeclaringSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
119
return DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(DiagnosticInfo.Create(
GeneratorDiagnostics
.MethodNotDeclaredInAttributedInterface, method.Locations.FirstOrDefault(), method.ToDisplayString()));
135
return DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(DiagnosticInfo.Create(
GeneratorDiagnostics
.CannotAnalyzeMethodPattern, method.Locations.FirstOrDefault(), method.ToDisplayString()));
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,
545
GeneratorDiagnostics
.InvalidStringMarshallingConfigurationOnMethod,
563
GeneratorDiagnostics
.InvalidExceptionMarshallingConfiguration,