| NexusLabs.Needlr | 427 | 67 | 494 | 2701 | 86.4% | | 130 | 146 | 89% | |
| NexusLabs.Needlr.Catalog.ConstructorParameterEntry | 2 | 3 | 5 | 60 | 40% | | 0 | 0 | | |
| NexusLabs.Needlr.Catalog.DecoratorCatalogEntry | 6 | 1 | 7 | 18 | 85.7% | | 0 | 0 | | |
| NexusLabs.Needlr.Catalog.HostedServiceCatalogEntry | 5 | 1 | 6 | 16 | 83.3% | | 0 | 0 | | |
| NexusLabs.Needlr.Catalog.InterceptedServiceCatalogEntry | 2 | 6 | 8 | 20 | 25% | | 0 | 0 | | |
| NexusLabs.Needlr.Catalog.InterfaceEntry | 2 | 2 | 4 | 60 | 50% | | 0 | 0 | | |
| NexusLabs.Needlr.Catalog.OptionsCatalogEntry | 2 | 8 | 10 | 24 | 20% | | 0 | 0 | | |
| NexusLabs.Needlr.Catalog.PluginCatalogEntry | 2 | 5 | 7 | 18 | 28.5% | | 0 | 0 | | |
| NexusLabs.Needlr.Catalog.ServiceCatalogEntry | 5 | 6 | 11 | 60 | 45.4% | | 0 | 0 | | |
| NexusLabs.Needlr.ContainerVerificationException | 10 | 0 | 10 | 66 | 100% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.DecoratorForAttribute<T> | 1 | 1 | 2 | 91 | 50% | | 0 | 0 | | |
| NexusLabs.Needlr.DeferToContainerAttribute | 4 | 0 | 4 | 65 | 100% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.DumpExtensions | 37 | 0 | 37 | 110 | 100% | | 16 | 16 | 100% | |
| NexusLabs.Needlr.DumpOptions | 4 | 0 | 4 | 32 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.InterceptAttribute | 5 | 0 | 5 | 137 | 100% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.InterceptAttribute<T> | 2 | 0 | 2 | 137 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.KeyedAttribute | 3 | 1 | 4 | 44 | 75% | | 1 | 2 | 50% | |
| NexusLabs.Needlr.LifetimeMismatch | 18 | 0 | 18 | 44 | 100% | | 2 | 4 | 50% | |
| NexusLabs.Needlr.LifetimeMismatchExtensions | 39 | 2 | 41 | 149 | 95.1% | | 20 | 22 | 90.9% | |
| NexusLabs.Needlr.MethodInvocation | 24 | 0 | 24 | 81 | 100% | | 11 | 12 | 91.6% | |
| NexusLabs.Needlr.PluginOrderAttribute | 2 | 0 | 2 | 49 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.PostBuildServiceCollectionPluginOptions | 4 | 1 | 5 | 22 | 80% | | 0 | 0 | | |
| NexusLabs.Needlr.RegisterAsAttribute<T> | 0 | 1 | 1 | 57 | 0% | | 0 | 0 | | |
| NexusLabs.Needlr.ServiceCollectionExtensions | 51 | 1 | 52 | 234 | 98% | | 17 | 18 | 94.4% | |
| NexusLabs.Needlr.ServiceCollectionPluginOptions | 5 | 0 | 5 | 23 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.ServiceCollectionVerificationExtensions | 41 | 3 | 44 | 170 | 93.1% | | 23 | 24 | 95.8% | |
| NexusLabs.Needlr.ServiceProviderExtensions | 49 | 5 | 54 | 231 | 90.7% | | 14 | 14 | 100% | |
| NexusLabs.Needlr.ServiceRegistrationInfo | 28 | 1 | 29 | 105 | 96.5% | | 12 | 14 | 85.7% | |
| NexusLabs.Needlr.SourceGenRegistry | 28 | 8 | 36 | 119 | 77.7% | | 3 | 4 | 75% | |
| NexusLabs.Needlr.TypeExtensions | 0 | 1 | 1 | 17 | 0% | | 0 | 2 | 0% | |
| NexusLabs.Needlr.VerificationIssue | 6 | 0 | 6 | 102 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.VerificationOptions | 14 | 0 | 14 | 102 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.VerificationOptionsBuilder | 14 | 6 | 20 | 68 | 70% | | 0 | 0 | | |
| NexusLabs.Needlr.VerificationResult | 12 | 4 | 16 | 170 | 75% | | 5 | 8 | 62.5% | |
| NexusLabs.Needlr.Analyzers | 1168 | 149 | 1317 | 3074 | 88.6% | | 652 | 890 | 73.2% | |
| NexusLabs.Needlr.Analyzers.CircularDependencyAnalyzer | 114 | 8 | 122 | 288 | 93.4% | | 51 | 66 | 77.2% | |
| NexusLabs.Needlr.Analyzers.CollectionResolutionAnalyzer | 84 | 5 | 89 | 142 | 94.3% | | 34 | 42 | 80.9% | |
| NexusLabs.Needlr.Analyzers.DeferToContainerInGeneratedCodeAnalyzer | 53 | 4 | 57 | 173 | 92.9% | | 40 | 50 | 80% | |
| NexusLabs.Needlr.Analyzers.DiagnosticDescriptors | 130 | 0 | 130 | 198 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Analyzers.DisposableCaptiveDependencyAnalyzer | 90 | 5 | 95 | 278 | 94.7% | | 72 | 80 | 90% | |
| NexusLabs.Needlr.Analyzers.DoNotAutoRegisterOnPluginAnalyzer | 44 | 2 | 46 | 109 | 95.6% | | 31 | 38 | 81.5% | |
| NexusLabs.Needlr.Analyzers.GlobalNamespaceTypeAnalyzer | 84 | 2 | 86 | 157 | 97.6% | | 61 | 70 | 87.1% | |
| NexusLabs.Needlr.Analyzers.InterceptAttributeAnalyzer | 53 | 2 | 55 | 146 | 96.3% | | 34 | 48 | 70.8% | |
| NexusLabs.Needlr.Analyzers.KeyedServiceResolutionAnalyzer | 97 | 1 | 98 | 199 | 98.9% | | 54 | 60 | 90% | |
| NexusLabs.Needlr.Analyzers.LazyResolutionAnalyzer | 92 | 5 | 97 | 148 | 94.8% | | 36 | 44 | 81.8% | |
| NexusLabs.Needlr.Analyzers.LifetimeMismatchAnalyzer | 68 | 4 | 72 | 194 | 94.4% | | 46 | 52 | 88.4% | |
| NexusLabs.Needlr.Analyzers.PluginConstructorDependenciesAnalyzer | 47 | 0 | 47 | 139 | 100% | | 26 | 28 | 92.8% | |
| NexusLabs.Needlr.Analyzers.ReflectionInAotProjectAnalyzer | 69 | 6 | 75 | 140 | 92% | | 26 | 30 | 86.6% | |
| NexusLabs.Needlr.Analyzers.RegisterAsAttributeAnalyzer | 33 | 6 | 39 | 98 | 84.6% | | 20 | 28 | 71.4% | |
| NexusLabs.Needlr.Roslyn.Shared.GeneratedConstructorEligibility | 49 | 58 | 107 | 399 | 45.7% | | 60 | 134 | 44.7% | |
| NexusLabs.Needlr.Roslyn.Shared.TypeDiscoveryHelper | 61 | 41 | 102 | 266 | 59.8% | | 61 | 120 | 50.8% | |
| NexusLabs.Needlr.Avalonia | 163 | 3 | 166 | 242 | 98.1% | | 29 | 40 | 72.5% | |
| NexusLabs.Needlr.Avalonia.AvaloniaDesignTimeConstructorGenerator | 135 | 3 | 138 | 204 | 97.8% | | 29 | 40 | 72.5% | |
| NexusLabs.Needlr.Avalonia.Diagnostics.AvaloniaDiagnosticDescriptors | 28 | 0 | 28 | 38 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Carter | 30 | 22 | 52 | 189 | 57.6% | | 0 | 0 | | |
| NexusLabs.Needlr.Carter.CarterWebApplicationBuilderPlugin | 5 | 0 | 5 | 31 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Carter.CarterWebApplicationPlugin | 5 | 0 | 5 | 24 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Carter.Generated.NeedlrSourceGenModuleInitializer | 7 | 0 | 7 | 23 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Carter.Generated.ServiceCatalog | 0 | 22 | 22 | 53 | 0% | | 0 | 0 | | |
| NexusLabs.Needlr.Carter.Generated.TypeRegistry | 13 | 0 | 13 | 58 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Extensions.Logging | 4 | 0 | 4 | 22 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Extensions.Logging.PostBuildServiceCollectionPluginOptionsExtensions | 4 | 0 | 4 | 22 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.FluentValidation | 43 | 16 | 59 | 497 | 72.8% | | 22 | 30 | 73.3% | |
| NexusLabs.Needlr.FluentValidation.FluentOptionsValidator<T> | 2 | 0 | 2 | 119 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.FluentValidation.FluentValidationOptionsAdapter<T> | 20 | 1 | 21 | 106 | 95.2% | | 16 | 18 | 88.8% | |
| NexusLabs.Needlr.FluentValidation.FluentValidationServiceCollectionExtensions | 5 | 8 | 13 | 90 | 38.4% | | 4 | 6 | 66.6% | |
| NexusLabs.Needlr.FluentValidation.FluentValidatorWrapper<T1, T2> | 0 | 5 | 5 | 119 | 0% | | 0 | 2 | 0% | |
| NexusLabs.Needlr.FluentValidation.ValidationFailureConverter | 16 | 2 | 18 | 63 | 88.8% | | 2 | 4 | 50% | |
| NexusLabs.Needlr.Generators | 9193 | 547 | 9740 | 22537 | 94.3% | | 4550 | 5278 | 86.2% | |
| NexusLabs.Needlr.Generators.AssemblyDiscoveryHelper | 114 | 0 | 114 | 233 | 100% | | 79 | 84 | 94% | |
| NexusLabs.Needlr.Generators.BreadcrumbWriter | 45 | 4 | 49 | 132 | 91.8% | | 25 | 30 | 83.3% | |
| NexusLabs.Needlr.Generators.CaptiveDependencyAnalyzer | 42 | 5 | 47 | 139 | 89.3% | | 37 | 42 | 88% | |
| NexusLabs.Needlr.Generators.CodeGen.BootstrapCodeGenerator | 61 | 0 | 61 | 121 | 100% | | 16 | 16 | 100% | |
| NexusLabs.Needlr.Generators.CodeGen.ComposedRegistrationsCodeGenerator | 28 | 2 | 30 | 71 | 93.3% | | 12 | 14 | 85.7% | |
| NexusLabs.Needlr.Generators.CodeGen.ConstructorGuardCodeGenerator | 106 | 2 | 108 | 223 | 98.1% | | 49 | 51 | 96% | |
| NexusLabs.Needlr.Generators.CodeGen.DecoratorsCodeGenerator | 94 | 16 | 110 | 238 | 85.4% | | 38 | 46 | 82.6% | |
| NexusLabs.Needlr.Generators.CodeGen.EmptyTypeRegistryCodeGenerator | 46 | 0 | 46 | 98 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.CodeGen.FactoryCodeGenerator | 147 | 6 | 153 | 295 | 96% | | 44 | 48 | 91.6% | |
| NexusLabs.Needlr.Generators.CodeGen.GeneratedConstructorCodeGenerator | 53 | 0 | 53 | 119 | 100% | | 17 | 18 | 94.4% | |
| NexusLabs.Needlr.Generators.CodeGen.HttpClientCodeGenerator | 29 | 0 | 29 | 85 | 100% | | 10 | 10 | 100% | |
| NexusLabs.Needlr.Generators.CodeGen.InjectableTypesCodeGenerator | 44 | 6 | 50 | 109 | 88% | | 19 | 22 | 86.3% | |
| NexusLabs.Needlr.Generators.CodeGen.InterceptorCodeGenerator | 168 | 16 | 184 | 342 | 91.3% | | 40 | 56 | 71.4% | |
| NexusLabs.Needlr.Generators.CodeGen.OptionsCodeGenerator | 572 | 56 | 628 | 1264 | 91% | | 293 | 357 | 82% | |
| NexusLabs.Needlr.Generators.CodeGen.PluginsCodeGenerator | 38 | 2 | 40 | 98 | 95% | | 16 | 20 | 80% | |
| NexusLabs.Needlr.Generators.CodeGen.ProviderCodeGenerator | 131 | 13 | 144 | 251 | 90.9% | | 22 | 30 | 73.3% | |
| NexusLabs.Needlr.Generators.CodeGen.RecordConstructorOverloadCodeGenerator | 70 | 0 | 70 | 132 | 100% | | 17 | 18 | 94.4% | |
| NexusLabs.Needlr.Generators.CodeGen.ServiceCatalogCodeGenerator | 157 | 7 | 164 | 295 | 95.7% | | 52 | 66 | 78.7% | |
| NexusLabs.Needlr.Generators.ComposedRegistrationDiscoveryHelper | 146 | 1 | 147 | 376 | 99.3% | | 136 | 142 | 95.7% | |
| NexusLabs.Needlr.Generators.ConstructorGenerationDiscoveryHelper | 100 | 7 | 107 | 299 | 93.4% | | 81 | 92 | 88% | |
| NexusLabs.Needlr.Generators.ConstructorGuardAnalysisHelper | 673 | 87 | 760 | 1356 | 88.5% | | 324 | 392 | 82.6% | |
| NexusLabs.Needlr.Generators.ConstructorGuardDiscoveryHelper | 66 | 2 | 68 | 161 | 97% | | 42 | 46 | 91.3% | |
| NexusLabs.Needlr.Generators.DiagnosticDescriptors | 514 | 0 | 514 | 831 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.DiagnosticOptions | 25 | 0 | 25 | 74 | 100% | | 14 | 16 | 87.5% | |
| NexusLabs.Needlr.Generators.DiagnosticsGenerator | 720 | 15 | 735 | 1258 | 97.9% | | 317 | 338 | 93.7% | |
| NexusLabs.Needlr.Generators.DocumentationCommentHelper | 37 | 2 | 39 | 97 | 94.8% | | 20 | 22 | 90.9% | |
| NexusLabs.Needlr.Generators.Export.CollectedDiagnostic | 6 | 0 | 6 | 620 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.GraphDecorator | 2 | 0 | 2 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.GraphDependency | 7 | 0 | 7 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.GraphDiagnostic | 5 | 0 | 5 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.GraphExporter | 328 | 2 | 330 | 620 | 99.3% | | 115 | 118 | 97.4% | |
| NexusLabs.Needlr.Generators.Export.GraphInterface | 3 | 0 | 3 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.GraphLocation | 3 | 0 | 3 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.GraphService | 13 | 0 | 13 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.GraphServiceMetadata | 5 | 0 | 5 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.GraphStatistics | 10 | 0 | 10 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Export.NeedlrGraph | 7 | 0 | 7 | 123 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.FactoryDiscoveryHelper | 107 | 15 | 122 | 348 | 87.7% | | 91 | 108 | 84.2% | |
| NexusLabs.Needlr.Generators.GenerateConstructorSuggestionAnalyzer | 371 | 25 | 396 | 704 | 93.6% | | 246 | 291 | 84.5% | |
| NexusLabs.Needlr.Generators.GeneratedConstructorAnalyzer | 264 | 14 | 278 | 440 | 94.9% | | 91 | 96 | 94.7% | |
| NexusLabs.Needlr.Generators.GeneratedConstructorGenerator | 27 | 0 | 27 | 71 | 100% | | 1 | 2 | 50% | |
| NexusLabs.Needlr.Generators.GenerateFactoryAttributeAnalyzer | 83 | 12 | 95 | 231 | 87.3% | | 45 | 60 | 75% | |
| NexusLabs.Needlr.Generators.GeneratorHelpers | 116 | 13 | 129 | 368 | 89.9% | | 91 | 112 | 81.2% | |
| NexusLabs.Needlr.Generators.Helpers.OptionsNamingHelper | 11 | 0 | 11 | 58 | 100% | | 12 | 12 | 100% | |
| NexusLabs.Needlr.Generators.HttpClientOptionsAnalyzer | 123 | 0 | 123 | 200 | 100% | | 48 | 54 | 88.8% | |
| NexusLabs.Needlr.Generators.HttpClientOptionsAttributeHelper | 98 | 1 | 99 | 318 | 98.9% | | 97 | 102 | 95% | |
| NexusLabs.Needlr.Generators.InterceptorDiscoveryHelper | 116 | 18 | 134 | 342 | 86.5% | | 68 | 85 | 80% | |
| NexusLabs.Needlr.Generators.Models.AttributeInfo | 7 | 0 | 7 | 18 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.ComposedConstraintViolation | 8 | 1 | 9 | 33 | 88.8% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.ConstructorGuardModel | 27 | 0 | 27 | 95 | 100% | | 17 | 20 | 85% | |
| NexusLabs.Needlr.Generators.Models.ConstructorGuardOccurrence | 21 | 0 | 21 | 54 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DataAnnotationInfo | 13 | 0 | 13 | 41 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiagnosticTypeInfo | 20 | 3 | 23 | 67 | 86.9% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredComposedMarker | 13 | 0 | 13 | 44 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredComposedRegistration | 12 | 1 | 13 | 45 | 92.3% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredDecorator | 11 | 0 | 11 | 22 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredFactory | 18 | 2 | 20 | 54 | 90% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.Generators.Models.DiscoveredHostedService | 10 | 1 | 11 | 27 | 90.9% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredHttpClient | 11 | 2 | 13 | 39 | 84.6% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredInterceptedService | 15 | 0 | 15 | 33 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredOpenDecorator | 11 | 0 | 11 | 29 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredOptions | 31 | 1 | 32 | 94 | 96.8% | | 6 | 8 | 75% | |
| NexusLabs.Needlr.Generators.Models.DiscoveredPlugin | 13 | 0 | 13 | 24 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.DiscoveredProvider | 22 | 4 | 26 | 86 | 84.6% | | 10 | 18 | 55.5% | |
| NexusLabs.Needlr.Generators.Models.DiscoveredType | 23 | 1 | 24 | 62 | 95.8% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.Generators.Models.DiscoveryResult | 27 | 0 | 27 | 53 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.EligibleConstructorField | 31 | 0 | 31 | 103 | 100% | | 15 | 16 | 93.7% | |
| NexusLabs.Needlr.Generators.Models.GeneratedConstructorEmitContext | 11 | 0 | 11 | 57 | 100% | | 3 | 4 | 75% | |
| NexusLabs.Needlr.Generators.Models.GeneratedConstructorModel | 39 | 0 | 39 | 129 | 100% | | 20 | 22 | 90.9% | |
| NexusLabs.Needlr.Generators.Models.InaccessibleType | 5 | 0 | 5 | 16 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.InterfaceInfo | 8 | 0 | 8 | 20 | 100% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.Generators.Models.MissingTypeRegistryPlugin | 5 | 0 | 5 | 16 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.OptionsPropertyInfo | 22 | 0 | 22 | 67 | 100% | | 1 | 2 | 50% | |
| NexusLabs.Needlr.Generators.Models.OptionsValidatorInfo | 7 | 0 | 7 | 29 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.PositionalRecordInfo | 9 | 0 | 9 | 33 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.PositionalRecordParameter | 5 | 0 | 5 | 16 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.ProviderPropertyInfo | 7 | 0 | 7 | 26 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.Models.RecordConstructorOverloadEmitContext | 14 | 0 | 14 | 58 | 100% | | 3 | 4 | 75% | |
| NexusLabs.Needlr.Generators.Models.RecordConstructorOverloadModel | 54 | 0 | 54 | 119 | 100% | | 20 | 22 | 90.9% | |
| NexusLabs.Needlr.Generators.Models.RecordConstructorPrimaryParameter | 24 | 0 | 24 | 73 | 100% | | 7 | 8 | 87.5% | |
| NexusLabs.Needlr.Generators.Models.RecordConstructorPropertyParameter | 35 | 0 | 35 | 90 | 100% | | 11 | 12 | 91.6% | |
| NexusLabs.Needlr.Generators.OpenDecoratorDiscoveryHelper | 30 | 3 | 33 | 114 | 90.9% | | 28 | 30 | 93.3% | |
| NexusLabs.Needlr.Generators.OpenDecoratorForAttributeAnalyzer | 79 | 13 | 92 | 201 | 85.8% | | 38 | 54 | 70.3% | |
| NexusLabs.Needlr.Generators.OptionsAttributeAnalyzer | 134 | 6 | 140 | 265 | 95.7% | | 82 | 96 | 85.4% | |
| NexusLabs.Needlr.Generators.OptionsAttributeHelper | 114 | 1 | 115 | 283 | 99.1% | | 93 | 96 | 96.8% | |
| NexusLabs.Needlr.Generators.OptionsDiscoveryHelper | 187 | 19 | 206 | 474 | 90.7% | | 146 | 174 | 83.9% | |
| NexusLabs.Needlr.Generators.PluginOrderHelper | 7 | 3 | 10 | 42 | 70% | | 8 | 12 | 66.6% | |
| NexusLabs.Needlr.Generators.ProviderAttributeAnalyzer | 90 | 8 | 98 | 217 | 91.8% | | 63 | 86 | 73.2% | |
| NexusLabs.Needlr.Generators.ProviderDiscoveryHelper | 98 | 9 | 107 | 297 | 91.5% | | 100 | 116 | 86.2% | |
| NexusLabs.Needlr.Generators.RecordConstructorOverloadAnalyzer | 172 | 3 | 175 | 271 | 98.2% | | 43 | 54 | 79.6% | |
| NexusLabs.Needlr.Generators.RecordConstructorOverloadDiscoveryHelper | 317 | 14 | 331 | 672 | 95.7% | | 189 | 214 | 88.3% | |
| NexusLabs.Needlr.Generators.RecordConstructorOverloadGenerator | 50 | 0 | 50 | 76 | 100% | | 1 | 2 | 50% | |
| NexusLabs.Needlr.Generators.RegisterClosedOverImplementationsOfAttributeAnalyzer | 69 | 18 | 87 | 180 | 79.3% | | 42 | 64 | 65.6% | |
| NexusLabs.Needlr.Generators.TypedConstantRenderer | 47 | 4 | 51 | 180 | 92.1% | | 34 | 38 | 89.4% | |
| NexusLabs.Needlr.Generators.TypeDiscoveryHelper | 429 | 53 | 482 | 1568 | 89% | | 412 | 486 | 84.7% | |
| NexusLabs.Needlr.Generators.TypeRegistryGenerator | 593 | 8 | 601 | 974 | 98.6% | | 268 | 300 | 89.3% | |
| NexusLabs.Needlr.Generators.UnsupportedDataAnnotationAnalyzer | 65 | 3 | 68 | 162 | 95.5% | | 36 | 44 | 81.8% | |
| NexusLabs.Needlr.Roslyn.Shared.GeneratedConstructorEligibility | 99 | 8 | 107 | 399 | 92.5% | | 119 | 134 | 88.8% | |
| NexusLabs.Needlr.Roslyn.Shared.TypeDiscoveryHelper | 93 | 9 | 102 | 266 | 91.1% | | 104 | 120 | 86.6% | |
| NexusLabs.Needlr.Generators.Attributes | 283 | 45 | 328 | 2552 | 86.2% | | 59 | 84 | 70.2% | |
| NexusLabs.Needlr.Generators.ConstructorGuardAttribute | 0 | 13 | 13 | 149 | 0% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.ConstructorGuardDefinitionAttribute | 3 | 6 | 9 | 102 | 33.3% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.GenerateConstructorAttribute | 5 | 1 | 6 | 109 | 83.3% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.GenerateFactoryAttribute | 1 | 0 | 1 | 95 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.GenerateFactoryAttribute<T> | 1 | 0 | 1 | 95 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.GenerateTypeRegistryAttribute | 3 | 0 | 3 | 79 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.HttpClientOptionsAttribute | 6 | 1 | 7 | 92 | 85.7% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.InjectableTypeInfo | 17 | 0 | 17 | 274 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.NeedlrSourceGenBootstrap | 192 | 0 | 192 | 613 | 100% | | 53 | 56 | 94.6% | |
| NexusLabs.Needlr.Generators.OpenDecoratorForAttribute | 4 | 1 | 5 | 101 | 80% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.OptionsAttribute | 9 | 1 | 10 | 173 | 90% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.PluginTypeInfo | 19 | 5 | 24 | 274 | 79.1% | | 4 | 8 | 50% | |
| NexusLabs.Needlr.Generators.ProviderAttribute | 9 | 0 | 9 | 127 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.RegisterClosedOverImplementationsOfAttribute | 5 | 1 | 6 | 96 | 83.3% | | 0 | 0 | | |
| NexusLabs.Needlr.Generators.ValidationError | 9 | 12 | 21 | 134 | 42.8% | | 2 | 18 | 11.1% | |
| NexusLabs.Needlr.Generators.ValidatorProviderAttribute | 0 | 4 | 4 | 39 | 0% | | 0 | 2 | 0% | |
| NexusLabs.Needlr.Hosting | 399 | 26 | 425 | 1750 | 93.8% | | 37 | 46 | 80.4% | |
| NexusLabs.Needlr.Hosting.CreateHostOptions | 31 | 4 | 35 | 174 | 88.5% | | 5 | 6 | 83.3% | |
| NexusLabs.Needlr.Hosting.CreateHostOptionsExtensions | 108 | 0 | 108 | 329 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Hosting.HostApplicationBuilderNeedlrExtensions | 63 | 4 | 67 | 233 | 94% | | 6 | 8 | 75% | |
| NexusLabs.Needlr.Hosting.HostApplicationBuilderPluginOptions | 2 | 3 | 5 | 22 | 40% | | 0 | 0 | | |
| NexusLabs.Needlr.Hosting.HostFactory | 96 | 4 | 100 | 185 | 96% | | 6 | 8 | 75% | |
| NexusLabs.Needlr.Hosting.HostPluginOptions | 2 | 2 | 4 | 19 | 50% | | 0 | 0 | | |
| NexusLabs.Needlr.Hosting.HostSyringe | 32 | 2 | 34 | 154 | 94.1% | | 8 | 10 | 80% | |
| NexusLabs.Needlr.Hosting.HostSyringeExtensions | 11 | 1 | 12 | 168 | 91.6% | | 0 | 0 | | |
| NexusLabs.Needlr.Hosting.IHostFactoryExtensions | 6 | 4 | 10 | 53 | 60% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.Hosting.NeedlrBootstrapContext | 2 | 0 | 2 | 79 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Hosting.NeedlrBootstrapper | 29 | 1 | 30 | 132 | 96.6% | | 8 | 10 | 80% | |
| NexusLabs.Needlr.Hosting.NeedlrBootstrapperExtensions | 9 | 0 | 9 | 105 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Hosting.NeedlrBootstrapperLog | 5 | 0 | 5 | 20 | 100% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.Hosting.SyringeHostingExtensions | 3 | 1 | 4 | 77 | 75% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection | 475 | 15 | 490 | 1603 | 96.9% | | 154 | 164 | 93.9% | |
| NexusLabs.Needlr.Injection.AssemblyOrdering.AssemblyInfo | 11 | 0 | 11 | 53 | 100% | | 3 | 6 | 50% | |
| NexusLabs.Needlr.Injection.AssemblyOrdering.AssemblyOrder | 15 | 0 | 15 | 56 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection.AssemblyOrdering.AssemblyOrderBuilder | 48 | 1 | 49 | 129 | 97.9% | | 12 | 14 | 85.7% | |
| NexusLabs.Needlr.Injection.AssemblyOrdering.AssemblyOrderRule | 7 | 1 | 8 | 31 | 87.5% | | 1 | 2 | 50% | |
| NexusLabs.Needlr.Injection.ConfiguredSyringe | 119 | 4 | 123 | 342 | 96.7% | | 59 | 62 | 95.1% | |
| NexusLabs.Needlr.Injection.ITypeFilterer | 8 | 0 | 8 | 56 | 100% | | 6 | 6 | 100% | |
| NexusLabs.Needlr.Injection.ITypeFiltererExtensionMethods | 85 | 4 | 89 | 183 | 95.5% | | 25 | 26 | 96.1% | |
| NexusLabs.Needlr.Injection.OrderedAssemblyProvider | 14 | 0 | 14 | 34 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection.ServiceCollectionPopulator | 44 | 2 | 46 | 110 | 95.6% | | 6 | 6 | 100% | |
| NexusLabs.Needlr.Injection.Syringe | 11 | 0 | 11 | 57 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection.SyringeExtensions | 64 | 3 | 67 | 417 | 95.5% | | 8 | 8 | 100% | |
| NexusLabs.Needlr.Injection.TypeFilterers.EmptyTypeFilterer | 5 | 0 | 5 | 26 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection.TypeFilterers.TypeFilterDecorator | 28 | 0 | 28 | 64 | 100% | | 4 | 4 | 100% | |
| NexusLabs.Needlr.Injection.TypeFiltering | 16 | 0 | 16 | 45 | 100% | | 30 | 30 | 100% | |
| NexusLabs.Needlr.Injection.Bundle | 123 | 8 | 131 | 314 | 93.8% | | 24 | 32 | 75% | |
| NexusLabs.Needlr.Injection.Bundle.ServiceProviderBuilder | 81 | 4 | 85 | 170 | 95.2% | | 18 | 26 | 69.2% | |
| NexusLabs.Needlr.Injection.Bundle.SyringeBundleExtensions | 42 | 4 | 46 | 144 | 91.3% | | 6 | 6 | 100% | |
| NexusLabs.Needlr.Injection.Reflection | 419 | 27 | 446 | 1337 | 93.9% | | 178 | 198 | 89.8% | |
| NexusLabs.Needlr.Injection.Reflection.AssemblyProviderBuilder | 15 | 0 | 15 | 60 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection.Reflection.IAssemblyProviderBuilderExtensions | 23 | 12 | 35 | 153 | 65.7% | | 4 | 8 | 50% | |
| NexusLabs.Needlr.Injection.Reflection.Loaders.AllAssembliesLoader | 11 | 0 | 11 | 27 | 100% | | 1 | 2 | 50% | |
| NexusLabs.Needlr.Injection.Reflection.Loaders.FileMatchAssemblyLoader | 37 | 0 | 37 | 64 | 100% | | 2 | 2 | 100% | |
| NexusLabs.Needlr.Injection.Reflection.Loaders.ReflectionAssemblyLoader | 13 | 0 | 13 | 37 | 100% | | 2 | 4 | 50% | |
| NexusLabs.Needlr.Injection.Reflection.PluginFactories.ReflectionPluginFactory | 47 | 2 | 49 | 188 | 95.9% | | 46 | 46 | 100% | |
| NexusLabs.Needlr.Injection.Reflection.ReflectionFallbackContext | 4 | 0 | 4 | 30 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection.Reflection.ReflectionFallbackHandlers | 41 | 0 | 41 | 105 | 100% | | 3 | 4 | 75% | |
| NexusLabs.Needlr.Injection.Reflection.ReflectionServiceProviderBuilder | 71 | 6 | 77 | 156 | 92.2% | | 17 | 22 | 77.2% | |
| NexusLabs.Needlr.Injection.Reflection.SyringeReflectionExtensions | 28 | 0 | 28 | 134 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection.Reflection.TypeFilterers.ReflectionTypeFilterer | 28 | 0 | 28 | 70 | 100% | | 34 | 34 | 100% | |
| NexusLabs.Needlr.Injection.Reflection.TypeRegistrars.ReflectionTypeRegistrar | 101 | 7 | 108 | 313 | 93.5% | | 69 | 76 | 90.7% | |
| NexusLabs.Needlr.Injection.Scrutor | 36 | 0 | 36 | 101 | 100% | | 18 | 18 | 100% | |
| NexusLabs.Needlr.Injection.Scrutor.ScrutorTypeRegistrar | 34 | 0 | 34 | 60 | 100% | | 18 | 18 | 100% | |
| NexusLabs.Needlr.Injection.Scrutor.SyringeScrutorExtensions | 2 | 0 | 2 | 41 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Injection.SourceGen | 288 | 52 | 340 | 1021 | 84.7% | | 120 | 134 | 89.5% | |
| NexusLabs.Needlr.Injection.SourceGen.GeneratedServiceProviderBuilder | 38 | 9 | 47 | 119 | 80.8% | | 5 | 6 | 83.3% | |
| NexusLabs.Needlr.Injection.SourceGen.Loaders.GeneratedAssemblyProvider | 48 | 7 | 55 | 117 | 87.2% | | 8 | 8 | 100% | |
| NexusLabs.Needlr.Injection.SourceGen.PluginFactories.GeneratedPluginFactory | 81 | 2 | 83 | 211 | 97.5% | | 53 | 60 | 88.3% | |
| NexusLabs.Needlr.Injection.SourceGen.SyringeSourceGenExtensions | 45 | 29 | 74 | 278 | 60.8% | | 1 | 2 | 50% | |
| NexusLabs.Needlr.Injection.SourceGen.TypeFilterers.GeneratedTypeFilterer | 24 | 0 | 24 | 104 | 100% | | 16 | 16 | 100% | |
| NexusLabs.Needlr.Injection.SourceGen.TypeRegistrars.GeneratedTypeRegistrar | 52 | 5 | 57 | 192 | 91.2% | | 37 | 42 | 88% | |
| NexusLabs.Needlr.Logging | 36 | 19 | 55 | 297 | 65.4% | | 24 | 24 | 100% | |
| NexusLabs.Needlr.Logging.NeedlrCancellationLogging | 36 | 0 | 36 | 164 | 100% | | 24 | 24 | 100% | |
| NexusLabs.Needlr.Logging.NeedlrLoggerMessageAttribute | 0 | 19 | 19 | 133 | 0% | | 0 | 0 | | |
| NexusLabs.Needlr.Logging.Analyzers | 138 | 9 | 147 | 320 | 93.8% | | 63 | 78 | 80.7% | |
| NexusLabs.Needlr.Logging.Analyzers.DiagnosticDescriptors | 54 | 0 | 54 | 90 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Logging.Analyzers.NeedlrLoggerMessageAnalyzer | 84 | 9 | 93 | 230 | 90.3% | | 63 | 78 | 80.7% | |
| NexusLabs.Needlr.Maui | 33 | 3 | 36 | 207 | 91.6% | | 5 | 10 | 50% | |
| NexusLabs.Needlr.Maui.MauiAppBuilderNeedlrExtensions | 6 | 0 | 6 | 67 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Maui.MauiSyringe | 25 | 3 | 28 | 110 | 89.2% | | 5 | 10 | 50% | |
| NexusLabs.Needlr.Maui.SyringeMauiExtensions | 2 | 0 | 2 | 30 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Serilog | 85 | 22 | 107 | 488 | 79.4% | | 9 | 10 | 90% | |
| NexusLabs.Needlr.Serilog.Generated.NeedlrSourceGenModuleInitializer | 7 | 0 | 7 | 23 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Serilog.Generated.ServiceCatalog | 0 | 21 | 21 | 52 | 0% | | 0 | 0 | | |
| NexusLabs.Needlr.Serilog.Generated.TypeRegistry | 12 | 0 | 12 | 57 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Serilog.NeedlrSerilogBootstrapper | 40 | 1 | 41 | 174 | 97.5% | | 9 | 10 | 90% | |
| NexusLabs.Needlr.Serilog.NeedlrSerilogBootstrapperExtensions | 17 | 0 | 17 | 140 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.Serilog.SerilogPlugin | 9 | 0 | 9 | 42 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.SignalR | 69 | 21 | 90 | 405 | 76.6% | | 15 | 18 | 83.3% | |
| NexusLabs.Needlr.SignalR.Generated.NeedlrSourceGenModuleInitializer | 7 | 0 | 7 | 23 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.SignalR.Generated.ServiceCatalog | 0 | 21 | 21 | 52 | 0% | | 0 | 0 | | |
| NexusLabs.Needlr.SignalR.Generated.TypeRegistry | 12 | 0 | 12 | 57 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.SignalR.GeneratedSignalRHubRegistration | 1 | 0 | 1 | 53 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.SignalR.SignalRExtensions | 9 | 0 | 9 | 84 | 100% | | 5 | 6 | 83.3% | |
| NexusLabs.Needlr.SignalR.SignalRHubReflectionMapper | 35 | 0 | 35 | 113 | 100% | | 10 | 12 | 83.3% | |
| NexusLabs.Needlr.SignalR.SignalRWebApplicationBuilderPlugin | 5 | 0 | 5 | 23 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.SignalR.Analyzers | 197 | 18 | 215 | 663 | 91.6% | | 171 | 200 | 85.5% | |
| NexusLabs.Needlr.Roslyn.Shared.GeneratedConstructorEligibility | 101 | 6 | 107 | 399 | 94.3% | | 121 | 134 | 90.2% | |
| NexusLabs.Needlr.SignalR.Analyzers.DiagnosticDescriptors | 27 | 0 | 27 | 52 | 100% | | 0 | 0 | | |
| NexusLabs.Needlr.SignalR.Analyzers.HubPathAttributeAnalyzer | 50 | 11 | 61 | 151 | 81.9% | | 43 | 58 | 74.1% | |
| NexusLabs.Needlr.SignalR.Analyzers.HubRegistrationPluginConstructorAnalyzer | 19 | 1 | 20 | 61 | 95% | | 7 | 8 | 87.5% | |