3 instantiations of DiagnosticInfo
Microsoft.Interop.SourceGeneration (3)
DiagnosticInfo.cs (3)
28
return new
DiagnosticInfo
()
40
return new
DiagnosticInfo
()
52
return new
DiagnosticInfo
()
140 references to DiagnosticInfo
Microsoft.Interop.ComInterfaceGenerator (71)
Analyzers\ComInterfaceGeneratorDiagnosticsAnalyzer.cs (9)
129
foreach (
DiagnosticInfo
diag in ciiResult.Diagnostics)
151
foreach (
DiagnosticInfo
diag in thisContextResult.Diagnostics)
162
foreach (
DiagnosticInfo
diag in methodResult.Diagnostics)
187
ImmutableArray<
DiagnosticInfo
> managedToNativeDiags = ImmutableArray<
DiagnosticInfo
>.Empty;
188
ImmutableArray<
DiagnosticInfo
> nativeToManagedDiags = ImmutableArray<
DiagnosticInfo
>.Empty;
200
foreach (
DiagnosticInfo
diag in managedToNativeDiags.Union(nativeToManagedDiags))
255
DiagnosticInfo
.Create(GeneratorDiagnostics.CannotAnalyzeInterfacePattern, sym.Locations.FirstOrDefault() ?? Location.None, sym.Name));
Analyzers\VtableIndexStubDiagnosticsAnalyzer.cs (8)
83
DiagnosticInfo
? invalidMethodDiagnostic = GetDiagnosticIfInvalidMethodForGeneration(methodSyntax, method);
95
foreach (
DiagnosticInfo
diag in diagnostics)
102
foreach (
DiagnosticInfo
diag in diagnostics)
107
internal static
DiagnosticInfo
? GetDiagnosticIfInvalidMethodForGeneration(MethodDeclarationSyntax methodSyntax, IMethodSymbol method)
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)
71
DiagnosticInfo
.Create(
ComInterfaceGenerator.cs (2)
254
generatorDiagnostics.ReportDiagnostic(
DiagnosticInfo
.Create(GeneratorDiagnostics.ComMethodManagedReturnWillBeOutVariable, symbol.Locations[0]));
290
generatorDiagnostics.ReportDiagnostic(
DiagnosticInfo
.Create(
ComInterfaceInfo.cs (29)
59
return DiagnosticOrInterfaceInfo.From(
DiagnosticInfo
.Create(GeneratorDiagnostics.RequiresAllowUnsafeBlocks, syntax.Identifier.GetLocation()));
65
DiagnosticInfo
.Create(
71
if (!IsInPartialContext(symbol, syntax, out
DiagnosticInfo
? partialContextDiagnostic))
76
return DiagnosticOrInterfaceInfo.From(
DiagnosticInfo
.Create(
83
if (!TryGetGuid(symbol, syntax, out Guid? guid, out
DiagnosticInfo
? guidDiagnostic))
86
if (!TryGetBaseComInterface(symbol, syntax, out INamedTypeSymbol? baseSymbol, out
DiagnosticInfo
? baseDiagnostic))
92
if (!StringMarshallingIsValid(symbol, syntax, interfaceAttributeData, baseAttributeData, out
DiagnosticInfo
? stringMarshallingDiagnostic))
95
if (!OptionsAreValid(symbol, syntax, interfaceAttributeData, baseAttributeData, out
DiagnosticInfo
? optionsDiagnostic))
98
if (!ExceptionToUnmanagedMarshallerIsValid(syntax, interfaceAttributeData, out
DiagnosticInfo
? exceptionToUnmanagedMarshallerDiagnostic))
116
ImmutableArray<
DiagnosticInfo
>.Builder nonFatalDiagnostics = ImmutableArray.CreateBuilder<
DiagnosticInfo
>();
128
nonFatalDiagnostics.Add(
DiagnosticInfo
.Create(
187
private static bool IsInPartialContext(INamedTypeSymbol symbol, InterfaceDeclarationSyntax syntax, [NotNullWhen(false)] out
DiagnosticInfo
? diagnostic)
192
diagnostic =
DiagnosticInfo
.Create(
208
[NotNullWhen(false)] out
DiagnosticInfo
? stringMarshallingDiagnostic)
217
stringMarshallingDiagnostic =
DiagnosticInfo
.Create(
226
stringMarshallingDiagnostic =
DiagnosticInfo
.Create(
236
stringMarshallingDiagnostic =
DiagnosticInfo
.Create(
251
stringMarshallingDiagnostic =
DiagnosticInfo
.Create(
268
[NotNullWhen(false)] out
DiagnosticInfo
? optionsDiagnostic)
273
optionsDiagnostic =
DiagnosticInfo
.Create(
287
optionsDiagnostic =
DiagnosticInfo
.Create(
302
[NotNullWhen(false)] out
DiagnosticInfo
? exceptionToUnmanagedMarshallerDiagnostic)
308
exceptionToUnmanagedMarshallerDiagnostic =
DiagnosticInfo
.Create(
318
exceptionToUnmanagedMarshallerDiagnostic =
DiagnosticInfo
.Create(
330
private static bool TryGetBaseComInterface(INamedTypeSymbol comIface, InterfaceDeclarationSyntax? syntax, out INamedTypeSymbol? baseComIface, [NotNullWhen(false)] out
DiagnosticInfo
? diagnostic)
348
diagnostic =
DiagnosticInfo
.Create(
365
private static bool TryGetGuid(INamedTypeSymbol interfaceSymbol, InterfaceDeclarationSyntax syntax, [NotNullWhen(true)] out Guid? guid, [NotNullWhen(false)] out
DiagnosticInfo
? diagnostic)
390
diagnostic =
DiagnosticInfo
.Create(
ComMethodInfo.cs (10)
108
out
DiagnosticInfo
? diagnostic)
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())));
208
switch (AnalyzeMethodShape(comMethodDeclaringSyntax, method, out
var
diag))
276
DiagnosticInfo
.Create(GeneratorDiagnostics.MethodNotDeclaredInAttributedInterface, property.Locations.FirstOrDefault(), property.ToDisplayString())));
296
DiagnosticInfo
.Create(GeneratorDiagnostics.CannotAnalyzeMethodPattern, property.Locations.FirstOrDefault(), property.ToDisplayString())));
300
switch (AnalyzePropertyShape(propertyDeclaringSyntax, property, ifaceSymbol, out
var
shapeDiagnostic))
406
out
DiagnosticInfo
? diagnostic)
Comparers.cs (4)
18
public static readonly IEqualityComparer<(MemberDeclarationSyntax Syntax, ImmutableArray<
DiagnosticInfo
> Diagnostics)> GeneratedSyntax = new CustomValueTupleElementComparer<MemberDeclarationSyntax, ImmutableArray<
DiagnosticInfo
>>(SyntaxEquivalentComparer.Instance, new ImmutableArraySequenceEqualComparer<
DiagnosticInfo
>(EqualityComparer<
DiagnosticInfo
>.Default));
GeneratedStubCodeContext.cs (1)
13
SequenceEqualImmutableArray<
DiagnosticInfo
> Diagnostics) : GeneratedMethodContextBase(OriginalDefiningType, Diagnostics);
IncrementalMethodStubGenerationContext.cs (3)
10
internal abstract record GeneratedMethodContextBase(ManagedTypeInfo OriginalDefiningType, SequenceEqualImmutableArray<
DiagnosticInfo
> Diagnostics);
56
SequenceEqualImmutableArray<
DiagnosticInfo
> Diagnostics,
96
SequenceEqualImmutableArray<
DiagnosticInfo
> Diagnostics,
SkippedStubContext.cs (1)
9
internal sealed record SkippedStubContext(ManagedTypeInfo OriginalDefiningType) : GeneratedMethodContextBase(OriginalDefiningType, new(ImmutableArray<
DiagnosticInfo
>.Empty));
VirtualMethodPointerStubGenerator.cs (2)
23
public static (MemberDeclarationSyntax, ImmutableArray<
DiagnosticInfo
>) GenerateManagedToNativeStub(
196
public static (MemberDeclarationSyntax, ImmutableArray<
DiagnosticInfo
>) GenerateNativeToManagedStub(
VtableIndexStubGenerator.cs (1)
381
new SequenceEqualImmutableArray<
DiagnosticInfo
>(generatorDiagnostics.Diagnostics.ToImmutableArray()),
Microsoft.Interop.JavaScript.JSImportGenerator (10)
Analyzers\JSExportDiagnosticsAnalyzer.cs (1)
24
protected override ImmutableArray<
DiagnosticInfo
> CalculateDiagnostics(
Analyzers\JSImportDiagnosticsAnalyzer.cs (1)
24
protected override ImmutableArray<
DiagnosticInfo
> CalculateDiagnostics(
Analyzers\JSImportExportDiagnosticsAnalyzer.cs (8)
58
protected abstract ImmutableArray<
DiagnosticInfo
> CalculateDiagnostics(
105
endContext.ReportDiagnostic(
DiagnosticInfo
.Create(RequiresAllowUnsafeBlocksDescriptor, null).ToDiagnostic());
118
DiagnosticInfo
? invalidMethodDiagnostic = GetDiagnosticIfInvalidMethodForGeneration(
129
foreach (
DiagnosticInfo
diagnostic in CalculateDiagnostics(methodSyntax, method, attr, env, context.CancellationToken))
149
internal static
DiagnosticInfo
? GetDiagnosticIfInvalidMethodForGeneration(
166
return
DiagnosticInfo
.Create(invalidSignatureDescriptor, methodSyntax.Identifier.GetLocation(), method.Name);
172
return
DiagnosticInfo
.Create(containingTypeMissingModifiersDescriptor, methodSyntax.Identifier.GetLocation(), method.Name, nonPartialIdentifier);
178
return
DiagnosticInfo
.Create(GeneratorDiagnostics.ReturnConfigurationNotSupported, methodSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
Microsoft.Interop.LibraryImportGenerator (9)
Analyzers\LibraryImportDiagnosticsAnalyzer.cs (8)
83
endContext.ReportDiagnostic(
DiagnosticInfo
.Create(GeneratorDiagnostics.RequiresAllowUnsafeBlocks, null).ToDiagnostic());
168
DiagnosticInfo
? invalidMethodDiagnostic = GetDiagnosticIfInvalidMethodForGeneration(methodSyntax, method);
182
foreach (
DiagnosticInfo
diagnostic in diagnostics)
196
private static ImmutableArray<
DiagnosticInfo
> CalculateDiagnostics(
318
internal static
DiagnosticInfo
? GetDiagnosticIfInvalidMethodForGeneration(MethodDeclarationSyntax methodSyntax, IMethodSymbol method)
327
return
DiagnosticInfo
.Create(GeneratorDiagnostics.InvalidAttributedMethodSignature, methodSyntax.Identifier.GetLocation(), method.Name);
333
return
DiagnosticInfo
.Create(GeneratorDiagnostics.InvalidAttributedMethodContainingTypeMissingModifiers, methodSyntax.Identifier.GetLocation(), method.Name, nonPartialIdentifier);
339
return
DiagnosticInfo
.Create(GeneratorDiagnostics.ReturnConfigurationNotSupported, methodSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
GeneratorDiagnostics.cs (1)
295
DiagnosticInfo
.Create(
Microsoft.Interop.LibraryImportGenerator.Downlevel (9)
DownlevelLibraryImportDiagnosticsAnalyzer.cs (8)
77
endContext.ReportDiagnostic(
DiagnosticInfo
.Create(GeneratorDiagnostics.RequiresAllowUnsafeBlocks, null).ToDiagnostic());
169
DiagnosticInfo
? invalidMethodDiagnostic = GetDiagnosticIfInvalidMethodForGeneration(methodSyntax, method);
181
foreach (
DiagnosticInfo
diagnostic in diagnostics)
195
private static ImmutableArray<
DiagnosticInfo
> CalculateDiagnostics(
322
internal static
DiagnosticInfo
? GetDiagnosticIfInvalidMethodForGeneration(MethodDeclarationSyntax methodSyntax, IMethodSymbol method)
331
return
DiagnosticInfo
.Create(GeneratorDiagnostics.InvalidAttributedMethodSignature, methodSyntax.Identifier.GetLocation(), method.Name);
337
return
DiagnosticInfo
.Create(GeneratorDiagnostics.InvalidAttributedMethodContainingTypeMissingModifiers, methodSyntax.Identifier.GetLocation(), method.Name, nonPartialIdentifier);
343
return
DiagnosticInfo
.Create(GeneratorDiagnostics.ReturnConfigurationNotSupported, methodSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
GeneratorDiagnostics.cs (1)
295
DiagnosticInfo
.Create(
Microsoft.Interop.SourceGeneration (41)
DiagnosticExtensions.cs (12)
116
public static
DiagnosticInfo
CreateDiagnosticInfo(
124
public static
DiagnosticInfo
CreateDiagnosticInfo(
133
public static
DiagnosticInfo
CreateDiagnosticInfo(
146
public static
DiagnosticInfo
CreateDiagnosticInfo(
160
public static
DiagnosticInfo
CreateDiagnosticInfo(
168
public static
DiagnosticInfo
CreateDiagnosticInfo(
192
DiagnosticInfo
.Create(descriptor, Location.None, properties: properties, args) :
193
DiagnosticInfo
.Create(descriptor, firstLocation, additionalLocations: additionalLocations, properties: properties, messageArgs: args);
196
public static
DiagnosticInfo
CreateDiagnosticInfo(
201
return
DiagnosticInfo
.Create(
207
public static
DiagnosticInfo
CreateDiagnosticInfo(
213
return
DiagnosticInfo
.Create(
DiagnosticInfo.cs (3)
26
public static
DiagnosticInfo
Create(DiagnosticDescriptor descriptor, Location location, params object?[] messageArgs)
38
public static
DiagnosticInfo
Create(DiagnosticDescriptor descriptor, Location location, ImmutableDictionary<string, string>? properties, params object?[] messageArgs)
50
public static
DiagnosticInfo
Create(DiagnosticDescriptor descriptor, Location location, IEnumerable<Location>? additionalLocations, ImmutableDictionary<string, string>? properties, params object?[] messageArgs)
DiagnosticOr.cs (10)
28
public abstract ImmutableArray<
DiagnosticInfo
> Diagnostics { get; }
32
private readonly SequenceEqualImmutableArray<
DiagnosticInfo
> _diagnostics;
33
internal Diag(ImmutableArray<
DiagnosticInfo
> diagnostics) => _diagnostics = diagnostics.ToSequenceEqual();
37
public override ImmutableArray<
DiagnosticInfo
> Diagnostics => _diagnostics.Array;
47
public override ImmutableArray<
DiagnosticInfo
> Diagnostics => throw new InvalidOperationException();
53
private readonly SequenceEqualImmutableArray<
DiagnosticInfo
> _diagnostics;
54
internal ValueAndDiagnostic(T value, ImmutableArray<
DiagnosticInfo
> diagnostics) => (_value, _diagnostics) = (value, diagnostics.ToSequenceEqual());
58
public override ImmutableArray<
DiagnosticInfo
> Diagnostics => _diagnostics.Array;
64
public static DiagnosticOr<T> From(
DiagnosticInfo
diagnostic)
81
public static DiagnosticOr<T> From(T value, params
DiagnosticInfo
[] diagnostics)
GeneratorDiagnosticsBag.cs (3)
22
private readonly List<
DiagnosticInfo
> _diagnostics = new();
23
public IEnumerable<
DiagnosticInfo
> Diagnostics => _diagnostics;
44
public void ReportDiagnostic(
DiagnosticInfo
diagnostic)
Marshalling\GeneratorDiagnostic.cs (8)
26
public abstract
DiagnosticInfo
ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName);
35
public override
DiagnosticInfo
ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName)
39
return
DiagnosticInfo
.Create(descriptor, location, DiagnosticProperties, NotSupportedDetails, elementName);
41
return
DiagnosticInfo
.Create(descriptor, location, DiagnosticProperties, TypePositionInfo.ManagedType.DiagnosticFormattedName, elementName);
50
public override
DiagnosticInfo
ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName)
52
return
DiagnosticInfo
.Create(
68
public override
DiagnosticInfo
ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName)
70
return
DiagnosticInfo
.Create(
Marshalling\MarshallerHelpers.cs (2)
364
DiagnosticInfo
.Create(
374
DiagnosticInfo
.Create(
MethodSignatureDiagnosticLocations.cs (3)
42
DiagnosticInfo
CreateDiagnosticInfo(DiagnosticDescriptor descriptor, GeneratorDiagnostic diagnostic);
48
public
DiagnosticInfo
CreateDiagnosticInfo(DiagnosticDescriptor descriptor, GeneratorDiagnostic diagnostic)
70
public
DiagnosticInfo
CreateDiagnosticInfo(DiagnosticDescriptor descriptor, GeneratorDiagnostic diagnostic)