| CircularDependencyAnalyzer |
Analyzer that detects circular dependencies in service registrations. A circular dependency occurs when a service directly or indirectly depends on itself. |
| CollectionResolutionAnalyzer |
Analyzer that detects IEnumerable\<T> dependencies where no implementations of T are discovered by source generation. Only active when [assembly: GenerateTypeRegistry] is present. |
| DeferToContainerInGeneratedCodeAnalyzer |
Analyzer that detects [DeferToContainer] attributes placed in generated code. |
| DiagnosticDescriptors |
Contains diagnostic descriptors for all Needlr analyzers. |
| DiagnosticIds |
Contains diagnostic IDs for all Needlr core analyzers. |
| DisposableCaptiveDependencyAnalyzer |
Analyzer that detects when a longer-lived service holds a reference to a shorter-lived IDisposable. This is a more severe form of captive dependency because the disposed object will still be referenced. |
| DoNotAutoRegisterOnPluginAnalyzer |
Analyzer that warns when [DoNotAutoRegister] is applied directly to a class that implements a Needlr plugin interface. |
| GlobalNamespaceTypeAnalyzer |
Analyzer that detects injectable types in the global namespace that won't be discovered when IncludeNamespacePrefixes is set without an empty string. |
| InterceptAttributeAnalyzer |
Analyzer that validates [Intercept] attribute usage: - NDLRCOR007: Intercept type must implement IMethodInterceptor - NDLRCOR008: [Intercept] applied to class without interfaces |
| KeyedServiceResolutionAnalyzer |
Analyzer that validates [FromKeyedServices] usage against discovered [Keyed] registrations. Reports Info-level diagnostic when a key is not found in statically-discovered registrations. Only active when [assembly: GenerateTypeRegistry] is present. |
| LazyResolutionAnalyzer |
Analyzer that detects Lazy\<T> dependencies where T is not discovered by source generation. Only active when [assembly: GenerateTypeRegistry] is present. |
| LifetimeMismatchAnalyzer |
Analyzer that detects lifetime mismatches in service registrations. A lifetime mismatch occurs when a longer-lived service depends on a shorter-lived service. |
| PluginConstructorDependenciesAnalyzer |
Analyzer that detects plugin implementations with constructor dependencies. |
| ReflectionInAotProjectAnalyzer |
Analyzer that detects reflection-based Needlr API usage in AOT-enabled projects. |
| RegisterAsAttributeAnalyzer |
Analyzer that validates [RegisterAs\<T>] attribute usage: - NDLRCOR015: Type argument T is not an interface implemented by the class |