3 instantiations of DiagnosticInfo
Microsoft.Interop.SourceGeneration (3)
DiagnosticInfo.cs (3)
28return new DiagnosticInfo() 40return new DiagnosticInfo() 52return new DiagnosticInfo()
136 references to DiagnosticInfo
Microsoft.Interop.ComInterfaceGenerator (67)
Analyzers\ComInterfaceGeneratorDiagnosticsAnalyzer.cs (9)
125foreach (DiagnosticInfo diag in ciiResult.Diagnostics) 147foreach (DiagnosticInfo diag in thisContextResult.Diagnostics) 158foreach (DiagnosticInfo diag in methodResult.Diagnostics) 183ImmutableArray<DiagnosticInfo> managedToNativeDiags = ImmutableArray<DiagnosticInfo>.Empty; 184ImmutableArray<DiagnosticInfo> nativeToManagedDiags = ImmutableArray<DiagnosticInfo>.Empty; 196foreach (DiagnosticInfo diag in managedToNativeDiags.Union(nativeToManagedDiags)) 251DiagnosticInfo.Create(GeneratorDiagnostics.CannotAnalyzeInterfacePattern, sym.Locations.FirstOrDefault() ?? Location.None, sym.Name));
Analyzers\VtableIndexStubDiagnosticsAnalyzer.cs (8)
83DiagnosticInfo? invalidMethodDiagnostic = GetDiagnosticIfInvalidMethodForGeneration(methodSyntax, method); 95foreach (DiagnosticInfo diag in diagnostics) 102foreach (DiagnosticInfo diag in diagnostics) 107internal static DiagnosticInfo? GetDiagnosticIfInvalidMethodForGeneration(MethodDeclarationSyntax methodSyntax, IMethodSymbol method) 116return DiagnosticInfo.Create(GeneratorDiagnostics.InvalidAttributedMethodSignature, methodSyntax.Identifier.GetLocation(), method.Name); 124return DiagnosticInfo.Create(GeneratorDiagnostics.InvalidAttributedMethodContainingTypeMissingModifiers, methodSyntax.Identifier.GetLocation(), method.Name, typeDecl.Identifier); 131return DiagnosticInfo.Create(GeneratorDiagnostics.ReturnConfigurationNotSupported, methodSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString()); 137return DiagnosticInfo.Create(GeneratorDiagnostics.InvalidAttributedMethodContainingTypeMissingUnmanagedObjectUnwrapperAttribute, methodSyntax.Identifier.GetLocation(), method.Name);
ComInterfaceContext.cs (1)
71DiagnosticInfo.Create(
ComInterfaceGenerator.cs (2)
322generatorDiagnostics.ReportDiagnostic(DiagnosticInfo.Create(GeneratorDiagnostics.ComMethodManagedReturnWillBeOutVariable, symbol.Locations[0])); 358generatorDiagnostics.ReportDiagnostic(DiagnosticInfo.Create(
ComInterfaceInfo.cs (29)
59return DiagnosticOrInterfaceInfo.From(DiagnosticInfo.Create(GeneratorDiagnostics.RequiresAllowUnsafeBlocks, syntax.Identifier.GetLocation())); 65DiagnosticInfo.Create( 71if (!IsInPartialContext(symbol, syntax, out DiagnosticInfo? partialContextDiagnostic)) 76return DiagnosticOrInterfaceInfo.From(DiagnosticInfo.Create( 83if (!TryGetGuid(symbol, syntax, out Guid? guid, out DiagnosticInfo? guidDiagnostic)) 86if (!TryGetBaseComInterface(symbol, syntax, out INamedTypeSymbol? baseSymbol, out DiagnosticInfo? baseDiagnostic)) 92if (!StringMarshallingIsValid(symbol, syntax, interfaceAttributeData, baseAttributeData, out DiagnosticInfo? stringMarshallingDiagnostic)) 95if (!OptionsAreValid(symbol, syntax, interfaceAttributeData, baseAttributeData, out DiagnosticInfo? optionsDiagnostic)) 98if (!ExceptionToUnmanagedMarshallerIsValid(syntax, interfaceAttributeData, out DiagnosticInfo? exceptionToUnmanagedMarshallerDiagnostic)) 116ImmutableArray<DiagnosticInfo>.Builder nonFatalDiagnostics = ImmutableArray.CreateBuilder<DiagnosticInfo>(); 128nonFatalDiagnostics.Add(DiagnosticInfo.Create( 187private static bool IsInPartialContext(INamedTypeSymbol symbol, InterfaceDeclarationSyntax syntax, [NotNullWhen(false)] out DiagnosticInfo? diagnostic) 192diagnostic = DiagnosticInfo.Create( 208[NotNullWhen(false)] out DiagnosticInfo? stringMarshallingDiagnostic) 217stringMarshallingDiagnostic = DiagnosticInfo.Create( 226stringMarshallingDiagnostic = DiagnosticInfo.Create( 236stringMarshallingDiagnostic = DiagnosticInfo.Create( 251stringMarshallingDiagnostic = DiagnosticInfo.Create( 268[NotNullWhen(false)] out DiagnosticInfo? optionsDiagnostic) 273optionsDiagnostic = DiagnosticInfo.Create( 287optionsDiagnostic = DiagnosticInfo.Create( 302[NotNullWhen(false)] out DiagnosticInfo? exceptionToUnmanagedMarshallerDiagnostic) 308exceptionToUnmanagedMarshallerDiagnostic = DiagnosticInfo.Create( 318exceptionToUnmanagedMarshallerDiagnostic = DiagnosticInfo.Create( 330private static bool TryGetBaseComInterface(INamedTypeSymbol comIface, InterfaceDeclarationSyntax? syntax, out INamedTypeSymbol? baseComIface, [NotNullWhen(false)] out DiagnosticInfo? diagnostic) 348diagnostic = DiagnosticInfo.Create( 365private static bool TryGetGuid(INamedTypeSymbol interfaceSymbol, InterfaceDeclarationSyntax syntax, [NotNullWhen(true)] out Guid? guid, [NotNullWhen(false)] out DiagnosticInfo? diagnostic) 390diagnostic = DiagnosticInfo.Create(
ComMethodInfo.cs (6)
66private static DiagnosticInfo? GetDiagnosticIfInvalidMethodForGeneration(MethodDeclarationSyntax comMethodDeclaringSyntax, IMethodSymbol method) 74return DiagnosticInfo.Create(GeneratorDiagnostics.InvalidAttributedMethodSignature, comMethodDeclaringSyntax.Identifier.GetLocation(), method.Name); 80return DiagnosticInfo.Create(GeneratorDiagnostics.ReturnConfigurationNotSupported, comMethodDeclaringSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString()); 119return DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(DiagnosticInfo.Create(GeneratorDiagnostics.MethodNotDeclaredInAttributedInterface, method.Locations.FirstOrDefault(), method.ToDisplayString())); 135return DiagnosticOr<(ComMethodInfo, IMethodSymbol)>.From(DiagnosticInfo.Create(GeneratorDiagnostics.CannotAnalyzeMethodPattern, method.Locations.FirstOrDefault(), method.ToDisplayString())); 138var diag = GetDiagnosticIfInvalidMethodForGeneration(comMethodDeclaringSyntax, method);
Comparers.cs (4)
18public 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)
13SequenceEqualImmutableArray<DiagnosticInfo> Diagnostics) : GeneratedMethodContextBase(OriginalDefiningType, Diagnostics);
IncrementalMethodStubGenerationContext.cs (3)
8internal abstract record GeneratedMethodContextBase(ManagedTypeInfo OriginalDefiningType, SequenceEqualImmutableArray<DiagnosticInfo> Diagnostics); 19SequenceEqualImmutableArray<DiagnosticInfo> Diagnostics, 33SequenceEqualImmutableArray<DiagnosticInfo> Diagnostics,
SkippedStubContext.cs (1)
9internal sealed record SkippedStubContext(ManagedTypeInfo OriginalDefiningType) : GeneratedMethodContextBase(OriginalDefiningType, new(ImmutableArray<DiagnosticInfo>.Empty));
VirtualMethodPointerStubGenerator.cs (2)
23public static (MethodDeclarationSyntax, ImmutableArray<DiagnosticInfo>) GenerateManagedToNativeStub( 130public static (MethodDeclarationSyntax, ImmutableArray<DiagnosticInfo>) GenerateNativeToManagedStub(
VtableIndexStubGenerator.cs (1)
305new SequenceEqualImmutableArray<DiagnosticInfo>(generatorDiagnostics.Diagnostics.ToImmutableArray()),
Microsoft.Interop.JavaScript.JSImportGenerator (10)
Analyzers\JSExportDiagnosticsAnalyzer.cs (1)
24protected override ImmutableArray<DiagnosticInfo> CalculateDiagnostics(
Analyzers\JSImportDiagnosticsAnalyzer.cs (1)
24protected override ImmutableArray<DiagnosticInfo> CalculateDiagnostics(
Analyzers\JSImportExportDiagnosticsAnalyzer.cs (8)
58protected abstract ImmutableArray<DiagnosticInfo> CalculateDiagnostics( 105endContext.ReportDiagnostic(DiagnosticInfo.Create(RequiresAllowUnsafeBlocksDescriptor, null).ToDiagnostic()); 118DiagnosticInfo? invalidMethodDiagnostic = GetDiagnosticIfInvalidMethodForGeneration( 129foreach (DiagnosticInfo diagnostic in CalculateDiagnostics(methodSyntax, method, attr, env, context.CancellationToken)) 149internal static DiagnosticInfo? GetDiagnosticIfInvalidMethodForGeneration( 166return DiagnosticInfo.Create(invalidSignatureDescriptor, methodSyntax.Identifier.GetLocation(), method.Name); 172return DiagnosticInfo.Create(containingTypeMissingModifiersDescriptor, methodSyntax.Identifier.GetLocation(), method.Name, nonPartialIdentifier); 178return DiagnosticInfo.Create(GeneratorDiagnostics.ReturnConfigurationNotSupported, methodSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
Microsoft.Interop.LibraryImportGenerator (9)
Analyzers\LibraryImportDiagnosticsAnalyzer.cs (8)
83endContext.ReportDiagnostic(DiagnosticInfo.Create(GeneratorDiagnostics.RequiresAllowUnsafeBlocks, null).ToDiagnostic()); 133DiagnosticInfo? invalidMethodDiagnostic = GetDiagnosticIfInvalidMethodForGeneration(methodSyntax, method); 145foreach (DiagnosticInfo diagnostic in diagnostics) 151private static ImmutableArray<DiagnosticInfo> CalculateDiagnostics( 273internal static DiagnosticInfo? GetDiagnosticIfInvalidMethodForGeneration(MethodDeclarationSyntax methodSyntax, IMethodSymbol method) 282return DiagnosticInfo.Create(GeneratorDiagnostics.InvalidAttributedMethodSignature, methodSyntax.Identifier.GetLocation(), method.Name); 288return DiagnosticInfo.Create(GeneratorDiagnostics.InvalidAttributedMethodContainingTypeMissingModifiers, methodSyntax.Identifier.GetLocation(), method.Name, nonPartialIdentifier); 294return DiagnosticInfo.Create(GeneratorDiagnostics.ReturnConfigurationNotSupported, methodSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
GeneratorDiagnostics.cs (1)
295DiagnosticInfo.Create(
Microsoft.Interop.LibraryImportGenerator.Downlevel (9)
DownlevelLibraryImportDiagnosticsAnalyzer.cs (8)
77endContext.ReportDiagnostic(DiagnosticInfo.Create(GeneratorDiagnostics.RequiresAllowUnsafeBlocks, null).ToDiagnostic()); 134DiagnosticInfo? invalidMethodDiagnostic = GetDiagnosticIfInvalidMethodForGeneration(methodSyntax, method); 144foreach (DiagnosticInfo diagnostic in diagnostics) 150private static ImmutableArray<DiagnosticInfo> CalculateDiagnostics( 277internal static DiagnosticInfo? GetDiagnosticIfInvalidMethodForGeneration(MethodDeclarationSyntax methodSyntax, IMethodSymbol method) 286return DiagnosticInfo.Create(GeneratorDiagnostics.InvalidAttributedMethodSignature, methodSyntax.Identifier.GetLocation(), method.Name); 292return DiagnosticInfo.Create(GeneratorDiagnostics.InvalidAttributedMethodContainingTypeMissingModifiers, methodSyntax.Identifier.GetLocation(), method.Name, nonPartialIdentifier); 298return DiagnosticInfo.Create(GeneratorDiagnostics.ReturnConfigurationNotSupported, methodSyntax.Identifier.GetLocation(), "ref return", method.ToDisplayString());
GeneratorDiagnostics.cs (1)
295DiagnosticInfo.Create(
Microsoft.Interop.SourceGeneration (41)
DiagnosticExtensions.cs (12)
116public static DiagnosticInfo CreateDiagnosticInfo( 124public static DiagnosticInfo CreateDiagnosticInfo( 133public static DiagnosticInfo CreateDiagnosticInfo( 146public static DiagnosticInfo CreateDiagnosticInfo( 160public static DiagnosticInfo CreateDiagnosticInfo( 168public static DiagnosticInfo CreateDiagnosticInfo( 192DiagnosticInfo.Create(descriptor, Location.None, properties: properties, args) : 193DiagnosticInfo.Create(descriptor, firstLocation, additionalLocations: additionalLocations, properties: properties, messageArgs: args); 196public static DiagnosticInfo CreateDiagnosticInfo( 201return DiagnosticInfo.Create( 207public static DiagnosticInfo CreateDiagnosticInfo( 213return DiagnosticInfo.Create(
DiagnosticInfo.cs (3)
26public static DiagnosticInfo Create(DiagnosticDescriptor descriptor, Location location, params object?[] messageArgs) 38public static DiagnosticInfo Create(DiagnosticDescriptor descriptor, Location location, ImmutableDictionary<string, string>? properties, params object?[] messageArgs) 50public static DiagnosticInfo Create(DiagnosticDescriptor descriptor, Location location, IEnumerable<Location>? additionalLocations, ImmutableDictionary<string, string>? properties, params object?[] messageArgs)
DiagnosticOr.cs (10)
28public abstract ImmutableArray<DiagnosticInfo> Diagnostics { get; } 32private readonly SequenceEqualImmutableArray<DiagnosticInfo> _diagnostics; 33internal Diag(ImmutableArray<DiagnosticInfo> diagnostics) => _diagnostics = diagnostics.ToSequenceEqual(); 37public override ImmutableArray<DiagnosticInfo> Diagnostics => _diagnostics.Array; 47public override ImmutableArray<DiagnosticInfo> Diagnostics => throw new InvalidOperationException(); 53private readonly SequenceEqualImmutableArray<DiagnosticInfo> _diagnostics; 54internal ValueAndDiagnostic(T value, ImmutableArray<DiagnosticInfo> diagnostics) => (_value, _diagnostics) = (value, diagnostics.ToSequenceEqual()); 58public override ImmutableArray<DiagnosticInfo> Diagnostics => _diagnostics.Array; 64public static DiagnosticOr<T> From(DiagnosticInfo diagnostic) 81public static DiagnosticOr<T> From(T value, params DiagnosticInfo[] diagnostics)
GeneratorDiagnosticsBag.cs (3)
22private readonly List<DiagnosticInfo> _diagnostics = new(); 23public IEnumerable<DiagnosticInfo> Diagnostics => _diagnostics; 44public void ReportDiagnostic(DiagnosticInfo diagnostic)
Marshalling\GeneratorDiagnostic.cs (8)
26public abstract DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName); 35public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName) 39return DiagnosticInfo.Create(descriptor, location, DiagnosticProperties, NotSupportedDetails, elementName); 41return DiagnosticInfo.Create(descriptor, location, DiagnosticProperties, TypePositionInfo.ManagedType.DiagnosticFormattedName, elementName); 50public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName) 52return DiagnosticInfo.Create( 68public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName) 70return DiagnosticInfo.Create(
Marshalling\MarshallerHelpers.cs (2)
364DiagnosticInfo.Create( 374DiagnosticInfo.Create(
MethodSignatureDiagnosticLocations.cs (3)
42DiagnosticInfo CreateDiagnosticInfo(DiagnosticDescriptor descriptor, GeneratorDiagnostic diagnostic); 48public DiagnosticInfo CreateDiagnosticInfo(DiagnosticDescriptor descriptor, GeneratorDiagnostic diagnostic) 70public DiagnosticInfo CreateDiagnosticInfo(DiagnosticDescriptor descriptor, GeneratorDiagnostic diagnostic)