15 implementations of IMarshallingGeneratorResolver
Microsoft.Interop.ComInterfaceGenerator (5)
Analyzers\ConvertComImportToGeneratedComInterfaceAnalyzer.cs (1)
186private sealed class CallbackGeneratorResolver : IMarshallingGeneratorResolver
Marshallers\ComInterfaceDispatchMarshallingResolver.cs (1)
17internal sealed class ComInterfaceDispatchMarshallingResolver : IMarshallingGeneratorResolver
Marshallers\ManagedHResultExceptionGeneratorResolver.cs (1)
16internal sealed class ManagedHResultExceptionGeneratorResolver : IMarshallingGeneratorResolver
Marshallers\ObjectUnwrapperResolver.cs (1)
15internal sealed class ObjectUnwrapperResolver : IMarshallingGeneratorResolver
Marshallers\StructAsHResultMarshallerFactory.cs (1)
13internal sealed class StructAsHResultMarshallerFactory : IMarshallingGeneratorResolver
Microsoft.Interop.JavaScript.JSImportGenerator (1)
JSGeneratorFactory.cs (1)
14internal sealed class JSGeneratorResolver : IMarshallingGeneratorResolver
Microsoft.Interop.LibraryImportGenerator (1)
ForwarderResolver.cs (1)
10internal sealed class ForwarderResolver : IMarshallingGeneratorResolver
Microsoft.Interop.LibraryImportGenerator.Downlevel (1)
ForwarderResolver.cs (1)
10internal sealed class ForwarderResolver : IMarshallingGeneratorResolver
Microsoft.Interop.SourceGeneration (7)
BoundGenerators.cs (1)
193private sealed class ExtendedInvariantsValidator : IMarshallingGeneratorResolver
Marshalling\AttributedMarshallingModelGeneratorResolver.cs (1)
22public class AttributedMarshallingModelGeneratorResolver : IMarshallingGeneratorResolver
Marshalling\ByValueContentsMarshalKindValidator.cs (1)
11public sealed class ByValueContentsMarshalKindValidator : IMarshallingGeneratorResolver
Marshalling\CharMarshallingGeneratorResolver.cs (1)
10public sealed class CharMarshallingGeneratorResolver : IMarshallingGeneratorResolver
Marshalling\MarshalAsMarshallingGeneratorResolver.cs (1)
10public sealed class MarshalAsMarshallingGeneratorResolver : IMarshallingGeneratorResolver
Marshalling\NoMarshallingInfoErrorResolver.cs (1)
12public sealed class NoMarshallingInfoErrorResolver : IMarshallingGeneratorResolver
Marshalling\NotSupportedResolver.cs (1)
6public sealed class NotSupportedResolver : IMarshallingGeneratorResolver
52 references to IMarshallingGeneratorResolver
Microsoft.Interop.ComInterfaceGenerator (19)
Analyzers\ConvertComImportToGeneratedComInterfaceAnalyzer.cs (2)
84var managedToUnmanagedFactory = ComInterfaceGeneratorHelpers.GetGeneratorResolver(env.EnvironmentFlags, MarshalDirection.ManagedToUnmanaged); 85var unmanagedToManagedFactory = ComInterfaceGeneratorHelpers.GetGeneratorResolver(env.EnvironmentFlags, MarshalDirection.UnmanagedToManaged);
ComInterfaceGeneratorHelpers.cs (6)
13private static readonly IMarshallingGeneratorResolver s_managedToUnmanagedDisabledMarshallingGeneratorResolver = CreateGeneratorResolver(EnvironmentFlags.DisableRuntimeMarshalling, MarshalDirection.ManagedToUnmanaged); 14private static readonly IMarshallingGeneratorResolver s_unmanagedToManagedDisabledMarshallingGeneratorResolver = CreateGeneratorResolver(EnvironmentFlags.DisableRuntimeMarshalling, MarshalDirection.UnmanagedToManaged); 15private static readonly IMarshallingGeneratorResolver s_managedToUnmanagedEnabledMarshallingGeneratorResolver = CreateGeneratorResolver(EnvironmentFlags.None, MarshalDirection.ManagedToUnmanaged); 16private static readonly IMarshallingGeneratorResolver s_unmanagedToManagedEnabledMarshallingGeneratorResolver = CreateGeneratorResolver(EnvironmentFlags.None, MarshalDirection.UnmanagedToManaged); 18private static IMarshallingGeneratorResolver CreateGeneratorResolver(EnvironmentFlags env, MarshalDirection direction) 26public static IMarshallingGeneratorResolver GetGeneratorResolver(EnvironmentFlags env, MarshalDirection direction)
UnmanagedToManagedStubGenerator.cs (1)
25IMarshallingGeneratorResolver generatorResolver)
VirtualMethodPointerStubGenerator.cs (4)
25Func<EnvironmentFlags, MarshalDirection, IMarshallingGeneratorResolver> generatorResolverCreator) 132Func<EnvironmentFlags, MarshalDirection, IMarshallingGeneratorResolver> generatorResolverCreator) 237Func<EnvironmentFlags, MarshalDirection, IMarshallingGeneratorResolver> generatorResolverCreator) 262Func<EnvironmentFlags, MarshalDirection, IMarshallingGeneratorResolver> generatorResolverCreator)
VtableIndexStubGeneratorHelpers.cs (6)
13private static readonly IMarshallingGeneratorResolver s_managedToUnmanagedDisabledMarshallingGeneratorResolver = CreateGeneratorResolver(EnvironmentFlags.DisableRuntimeMarshalling, MarshalDirection.ManagedToUnmanaged); 14private static readonly IMarshallingGeneratorResolver s_unmanagedToManagedDisabledMarshallingGeneratorResolver = CreateGeneratorResolver(EnvironmentFlags.DisableRuntimeMarshalling, MarshalDirection.UnmanagedToManaged); 15private static readonly IMarshallingGeneratorResolver s_managedToUnmanagedEnabledMarshallingGeneratorResolver = CreateGeneratorResolver(EnvironmentFlags.None, MarshalDirection.ManagedToUnmanaged); 16private static readonly IMarshallingGeneratorResolver s_unmanagedToManagedEnabledMarshallingGeneratorResolver = CreateGeneratorResolver(EnvironmentFlags.None, MarshalDirection.UnmanagedToManaged); 18private static IMarshallingGeneratorResolver CreateGeneratorResolver(EnvironmentFlags env, MarshalDirection direction) 24public static IMarshallingGeneratorResolver GetGeneratorResolver(EnvironmentFlags env, MarshalDirection direction)
Microsoft.Interop.JavaScript.JSImportGenerator (2)
JSExportCodeGenerator.cs (1)
28IMarshallingGeneratorResolver generatorResolver)
JSImportCodeGenerator.cs (1)
35IMarshallingGeneratorResolver generatorResolver)
Microsoft.Interop.LibraryImportGenerator (3)
Analyzers\ConvertToLibraryImportAnalyzer.cs (2)
150var factory = DefaultMarshallingGeneratorResolver.Create(env.EnvironmentFlags, MarshalDirection.ManagedToUnmanaged, TypeNames.LibraryImportAttribute_ShortName, []); 230private sealed class CallbackGeneratorResolver(Func<TypePositionInfo, StubCodeContext, ResolvedGenerator> func) : IMarshallingGeneratorResolver
LibraryImportGenerator.cs (1)
336IMarshallingGeneratorResolver resolver = options.GenerateForwarders
Microsoft.Interop.LibraryImportGenerator.Downlevel (1)
DownlevelLibraryImportGeneratorHelpers.cs (1)
48public static IMarshallingGeneratorResolver GeneratorResolver { get; } = new ByValueContentsMarshalKindValidator(new CompositeMarshallingGeneratorResolver(
Microsoft.Interop.SourceGeneration (27)
BoundGenerators.cs (5)
21public static BoundGenerators Create(ImmutableArray<TypePositionInfo> elementTypeInfo, IMarshallingGeneratorResolver generatorResolver, StubCodeContext context, IUnboundMarshallingGenerator fallbackGenerator, out ImmutableArray<GeneratorDiagnostic> generatorBindingDiagnostics) 85IMarshallingGeneratorResolver exceptionHandlerFactory = new ExtendedInvariantsValidator(nativeReturnMarshaller.NativeType, generatorResolver); 154IBoundMarshallingGenerator CreateGenerator(TypePositionInfo p, IMarshallingGeneratorResolver factory) 196private readonly IMarshallingGeneratorResolver _inner; 198public ExtendedInvariantsValidator(ManagedTypeInfo nativeReturnType, IMarshallingGeneratorResolver inner)
ManagedToNativeStubGenerator.cs (1)
54IMarshallingGeneratorResolver generatorResolver,
Marshalling\AttributedMarshallingModelGeneratorResolver.cs (2)
27private readonly IMarshallingGeneratorResolver _elementGeneratorResolver; 30IMarshallingGeneratorResolver elementGeneratorResolver,
Marshalling\BlittableMarshallerResolver.cs (1)
16public sealed class BlittableMarshallerResolver(bool runtimeMarshallingDisabled) : IMarshallingGeneratorResolver
Marshalling\BreakingChangeDetector.cs (3)
12/// An <see cref="IMarshallingGeneratorResolver"/> that adds diagnostics to warn users about breaking changes in the interop generators, 15public sealed class BreakingChangeDetector(IMarshallingGeneratorResolver inner) : IMarshallingGeneratorResolver
Marshalling\ByValueContentsMarshalKindValidator.cs (4)
9/// An <see cref="IMarshallingGeneratorResolver"/> implementation that wraps an inner <see cref="IMarshallingGeneratorResolver"/> instance and validates that the <see cref="TypePositionInfo.ByValueContentsMarshalKind"/> on the provided <see cref="TypePositionInfo"/> is valid in the current marshalling scenario. 15private readonly IMarshallingGeneratorResolver _inner; 17public ByValueContentsMarshalKindValidator(IMarshallingGeneratorResolver inner)
Marshalling\CompositeMarshallingGeneratorResolver.cs (5)
13public sealed class CompositeMarshallingGeneratorResolver(IEnumerable<IMarshallingGeneratorResolver> resolvers) : IMarshallingGeneratorResolver 20public CompositeMarshallingGeneratorResolver(params IMarshallingGeneratorResolver[] resolvers) 21: this((IEnumerable<IMarshallingGeneratorResolver>)resolvers) 28foreach (IMarshallingGeneratorResolver resolver in resolvers)
Marshalling\DefaultMarshallingGeneratorResolver.cs (6)
21public static IMarshallingGeneratorResolver Create( 25IEnumerable<IMarshallingGeneratorResolver> additionalResolvers) 27IMarshallingGeneratorResolver fallbackResolver = new NotSupportedResolver(); 28List<IMarshallingGeneratorResolver> coreResolvers = [ 39IMarshallingGeneratorResolver elementFactory = new AttributedMarshallingModelGeneratorResolver( 54IMarshallingGeneratorResolver generatorResolver = new ByValueContentsMarshalKindValidator(