Skip to content

Make iioccontainer resolvers static#9

Merged
AndyElessar merged 3 commits intomainfrom
make-iioccontainer-resolvers-static
Mar 6, 2026
Merged

Make iioccontainer resolvers static#9
AndyElessar merged 3 commits intomainfrom
make-iioccontainer-resolvers-static

Conversation

@AndyElessar
Copy link
Owner

Description

Make iioccontainer resolvers static.

Related Issue

Resolve #8

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)

Checklist

  • My code follows the project's coding guidelines
  • I have added tests that prove my fix is effective or that my feature works
  • All new and existing tests pass
  • I have updated the documentation accordingly
  • I have added XML documentation for public APIs

Testing

All test pass

Copilot AI review requested due to automatic review settings March 5, 2026 20:15
@AndyElessar AndyElessar linked an issue Mar 5, 2026 that may be closed by this pull request
@AndyElessar AndyElessar self-assigned this Mar 5, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates SourceGen.Ioc to expose container resolvers via a static (interface-required) API, moving resolver dictionary construction to static initialization and adding analyzer protection against circular module imports.

Changes:

  • Changed IIocContainer<TContainer>.Resolvers to a static abstract member and updated generated containers accordingly.
  • Updated container generation to build _serviceResolvers as a private static readonly FrozenDictionary (and removed per-instance resolver copying).
  • Added analyzer SGIOC025 (plus tests/docs/spec updates) to detect circular module import cycles that could deadlock type initialization.

Reviewed changes

Copilot reviewed 116 out of 119 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/Ioc/src/SourceGen.Ioc/IIocContainer.cs Makes Resolvers a static abstract contract to support static resolver access.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/Generator/GenerateContainerOutput.cs Emits static Resolvers and static _serviceResolvers generation; removes instance resolver field/assignments.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/Analyzer/ContainerAnalyzer.cs Adds SGIOC025 diagnostic and cycle-detection logic for module imports.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/AnalyzerReleases.Unshipped.md Documents new SGIOC025 analyzer rule release entry.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/Analyzer/Spec/SPEC.spec.md Adds analyzer spec section for SGIOC025 behavior and message format.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/Generator/Spec/Container.Basic.spec.md Updates generator spec to reflect static resolver storage and static Resolvers.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/Generator/Spec/Container.ImportModule.spec.md Updates module import spec to reflect static resolver dictionary built from imported module resolvers.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/Generator/Spec/Container.Options.spec.md Updates options spec for static resolver dictionary initialization.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/Generator/Spec/Container.Performance.spec.md Updates performance spec to show static resolver dictionary rather than constructor-built.
src/Ioc/src/SourceGen.Ioc.SourceGenerator/Generator/Spec/Container.ThreadSafety.spec.md Removes now-obsolete parent _serviceResolvers copy from spec snippet.
docs/Ioc/12_Container.md Documents SGIOC025 warning and static _serviceResolvers note; updates diagnostic table.
src/Ioc/test/SourceGen.Ioc.Test/Helpers/Constants.cs Adds SGIOC025 constant for analyzer tests/categories.
src/Ioc/test/SourceGen.Ioc.Test/Analyzer/SGIOC025Tests.cs Adds analyzer tests validating circular import detection (direct/transitive/non-generic/no-cycle).
src/Ioc/test/SourceGen.Ioc.Test/RegisterSourceGeneratorSnapshot/ImportModuleTests.ImportModule_WithOpenGenericRegistration_GeneratesClosedTypes.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/BasicContainerTests.SimpleContainer_GeneratesBasicContainer.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/BasicContainerTests.Container_WithNoServices_GeneratesEmptyContainer.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/BasicContainerTests.Container_WithMultipleLifetimes_GeneratesCorrectContainer.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/BasicContainerTests.Container_WithDependencyInjection_GeneratesConstructorInjection.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/BasicContainerTests.Container_InNestedNamespace_GeneratesCorrectNamespace.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/BasicContainerTests.Container_InGlobalNamespace_GeneratesWithoutNamespace.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/CollectionResolutionContainerTests.Container_WithCollectionResolution_GeneratesEnumerableService.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/CollectionResolutionContainerTests.Container_WithCollectionResolution_GeneratesReadOnlyCollectionAndArrayServices.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/CollectionResolutionContainerTests.Container_WithMultipleInstanceRegistrations_GeneratesEnumerableForSameType.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ContainerOptionsTests.Container_WithoutDIPackage_DoesNotGenerateIServiceProviderFactory.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ContainerOptionsTests.Container_WithMultipleInterfaceRegistration_GeneratesAllResolutions.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ContainerOptionsTests.Container_WithIntegrateServiceProviderFalse_DoesNotGenerateServiceProviderFactory.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ContainerOptionsTests.Container_WithIncludeTags_OnlyIncludesMatchingTaggedServices.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ContainerOptionsTests.Container_WithExplicitOnlyMode_OnlyIncludesExplicitRegistrations.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ContainerOptionsTests.Container_WithExplicitOnlyMode_GenericAttributeWorks.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ContainerOptionsTests.Container_WithExplicitOnlyAndIncludeTags_ExplicitOnlyTakesPrecedence.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/DecoratorContainerTests.Container_WithDecorators_GeneratesDecoratedResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/DecoratorContainerTests.Container_WithDecorators_HavingClosedGenericDependency_GeneratesDirectResolverCalls.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/DecoratorContainerTests.Container_WithDecoratorInjectionMembers_GeneratesPropertyAndMethodInjection.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/DisposableServiceTests.Container_WithTransientDisposable_GeneratesDisposableTracking.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/DisposableServiceTests.Container_WithAsyncDisposable_GeneratesAsyncDisposableTracking.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/EagerResolveOptionsTests.Container_WithTransientServices_NeverEager.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/EagerResolveOptionsTests.Container_WithInstanceRegistration_AlwaysEager.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/EagerResolveOptionsTests.Container_WithEagerSingletonAndDependencies_ResolvesDependenciesFirst.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/EagerResolveOptionsTests.Container_WithEagerResolveOptionsSingletonAndScoped_EagerBoth.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/EagerResolveOptionsTests.Container_WithEagerResolveOptionsScoped_EagerScoped.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/EagerResolveOptionsTests.Container_WithEagerResolveOptionsNone_LazySingletons.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/EagerResolveOptionsTests.Container_WithDefaultEagerResolveOptions_EagerSingletons.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/FactoryAndInstanceContainerTests.Container_WithInstanceRegistration_UsesStaticInstance.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/FactoryAndInstanceContainerTests.Container_WithFactoryRegistration_UsesFactoryMethod.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericFactoryContainerTests.Container_WithGenericFactory_GeneratesCorrectFactoryCall.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericFactoryContainerTests.Container_WithGenericFactory_MultipleDiscoveries_GeneratesMultipleFactoryCalls.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericFactoryContainerTests.Container_WithGenericFactory_MultipleTypeParameters_GeneratesCorrectFactoryCall.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericFactoryContainerTests.Container_WithGenericFactory_ReversedTypeParameterMapping_GeneratesCorrectOrder.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericFactoryContainerTests.Container_WithGenericFactory_RegisterImplWin.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericFactoryContainerTests.Container_WithGenericFactory_AlsoSpecifiedImpls.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericFactoryContainerTests.Container_WithGenericFactory_WithServiceProvider_GeneratesProviderParameter.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericServiceContainerTests.Container_WithOpenGenerics_NoIntegrateServiceProvider_FallbacksToProviderForGenericTypes.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericServiceContainerTests.Container_WithGenericService_GeneratesGenericResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/GenericServiceContainerTests.Container_WithOpenGenerics_UseSwitchStatement_FallbacksToProviderForGenericTypes.verified.txt Snapshot updated for static Resolvers (switch mode).
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/InjectionTests.Container_WithPropertyInjection_GeneratesPropertyAssignment.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/InjectionTests.Container_WithMethodInjection_GeneratesMethodCall.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/InjectionTests.Container_WithFieldInjection_GeneratesFieldAssignment.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/InjectionTests.Container_FieldInjectFeatureDisabled_IgnoresFieldInjection.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithKeyedServices_GeneratesKeyedResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithKeyedServices_UseSwitchStatement.verified.txt Snapshot updated for static Resolvers (switch mode).
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithServiceKeyAttribute_InjectsRegistrationKey.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithServiceKeyAttribute_StringKey_InjectsTypedKey.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithServiceKeyAttribute_NullableKey_InjectsNullForNonKeyedService.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithServiceKeyAttribute_MethodInjection_InjectsKey.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithServiceKeyAttribute_MethodInjection_WithOtherParameters_InjectsCorrectly.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithServiceKeyAttribute_Factory_InjectsKey.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/KeyedServiceTests.Container_WithServiceKeyAttribute_Factory_WithDependencies_InjectsCorrectly.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ModuleImportContainerTests.Container_WithImportedModule_CombinesServices.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers built from imported modules.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ModuleImportContainerTests.Container_WithImportedModule_UseSwitchStatementIgnored_UsesFrozenDictionary.verified.txt Snapshot updated for imported-module resolver behavior with static resolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ModuleImportContainerTests.Container_WithMultipleImportedModules_CombinesAllServices.verified.txt Snapshot updated for static _serviceResolvers combining multiple modules.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ModuleImportContainerTests.Container_WithNestedModuleImports_ThreeLevelHierarchy.verified.txt Snapshot updated for static _serviceResolvers built from nested module resolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/PartialAccessorTests.PartialProperty_ResolvesRegisteredService.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/PartialAccessorTests.PartialProperty_WithKeyedService_ResolvesWithKey.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/PartialAccessorTests.PartialMethod_ResolvesRegisteredService.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/PartialAccessorTests.PartialMethod_WithKeyedService_ResolvesWithKey.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/PartialAccessorTests.PartialMethod_NullableReturnType_ResolvesOptionally.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/PartialAccessorTests.PartialMethod_NoFallback_UnregisteredService_ThrowsExpression.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/PartialAccessorTests.PartialMethod_NamingConflict_RenamesInternalResolver.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/PartialAccessorTests.PartialAccessor_MixedMethodsAndProperties.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithTransientServices_DoesNotGenerateSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithDefaultStrategy_GeneratesSemaphoreSlimSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategyNone_GeneratesNoSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategyNone_AndDecorators_GeneratesNoSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategyLock_GeneratesLockSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategyLock_AndPropertyInjection_GeneratesLockSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategySpinLock_GeneratesSpinLockSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategySemaphoreSlim_GeneratesSemaphoreSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategyCompareExchange_GeneratesCompareExchangeSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategyCompareExchange_AndDecorators_GeneratesCompareExchangeSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ThreadSafeStrategyTests.Container_WithThreadSafeStrategyScopedServices_GeneratesCorrectSynchronization.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.DictionaryDependency_GeneratesDictionaryResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.DictionaryDependency_WithKeyedServices_GeneratesKvpResolvers.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.ReadOnlyDictionaryDependency_GeneratesDictionaryResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.FuncDependency_GeneratesFuncResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.FuncDependency_WithUnmatchedInputType_IgnoresInputAndResolvesFromDi.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.FuncDependency_WithSingleInputParameter_MatchesConstructorParameterByType.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.FuncDependency_WithMultipleInputParameters_UsesFirstUnusedTypeMatches.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.LazyDependency_GeneratesLazyResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.NestedFuncLazy_GeneratesNestedResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.NestedLazyFunc_GeneratesNestedResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.NestedLazyEnumerable_GeneratesNestedResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.NestedEnumerableLazy_GeneratesNestedResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.NestedEnumerableFunc_GeneratesNestedResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.KeyValuePairDependency_GeneratesKvpResolution.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.KeyValuePairDependency_WithKeyedServices_GeneratesKvpResolvers.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.KeyValuePairDependency_WithMixedKeyTypes_OnlyGeneratesMatchingKvpResolvers.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/WrapperTypeDependencyTests.CollectionWrapperKind_HasCorrectWrapperKindOnCollectionTypes.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ActivatorContainerTests.Container_WithRegisteredComponent_GeneratesComponentWithPropertyInjection.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ActivatorContainerTests.Container_WithIControllerActivator_GeneratesControllerActivatorImplementation.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ActivatorContainerTests.Container_WithIComponentActivator_GeneratesComponentActivatorImplementation.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ActivatorContainerTests.Container_WithIComponentPropertyActivator_GeneratesPropertyActivatorImplementation.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ActivatorContainerTests.Container_WithIComponentPropertyActivatorOnly_GeneratesReflectionFallback.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ActivatorContainerTests.Container_WithIComponentPropertyActivator_SwitchMode_GeneratesArrayExistsCheck.verified.txt Snapshot updated for static Resolvers (switch mode).
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ActivatorContainerTests.Container_WithBothActivators_GeneratesBothImplementations.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.
src/Ioc/test/SourceGen.Ioc.Test/ContainerSourceGeneratorSnapshot/ActivatorContainerTests.Container_WithAllActivators_GeneratesAllImplementations.verified.txt Snapshot updated for static Resolvers and static _serviceResolvers.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 124 out of 127 changed files in this pull request and generated 3 comments.

@AndyElessar AndyElessar merged commit 19585dd into main Mar 6, 2026
9 checks passed
@AndyElessar AndyElessar deleted the make-iioccontainer-resolvers-static branch March 6, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make IIocContainer<TContainer>.Resolvers static

2 participants