Skip to content

NexusLabs.Needlr.Analyzers

NexusLabs.Needlr.Analyzers

NexusLabs.Needlr.Analyzers Namespace

Classes
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