< Summary

Information
Class: NexusLabs.Needlr.Generators.Models.GeneratedRegistrationPlan
Assembly: NexusLabs.Needlr.Generators
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.Generators/Models/RegistrationManifest/GeneratedRegistrationPlan.cs
Line coverage
100%
Covered lines: 20
Uncovered lines: 0
Coverable lines: 20
Total lines: 43
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_AssemblyName()100%11100%
get_IsAotProject()100%11100%
get_RegistersServiceCatalog()100%11100%
get_ReferencedRegistryAssemblies()100%11100%
get_EmittedFactories()100%11100%
get_EmittedProviders()100%11100%
get_DiscoveryResult()100%11100%
get_HasFactoryRegistrations()100%11100%
get_HasConfigBoundRegistrations()100%22100%
get_HasHttpClientRegistrations()100%11100%
get_HasProviderRegistrations()100%11100%

File(s)

/home/runner/work/needlr/needlr/src/NexusLabs.Needlr.Generators/Models/RegistrationManifest/GeneratedRegistrationPlan.cs

#LineLine coverage
 1using System.Collections.Generic;
 2
 3namespace NexusLabs.Needlr.Generators.Models;
 4
 5/// <summary>
 6/// The normalized source-generation inputs that determine emitted registration behavior.
 7/// </summary>
 8internal readonly struct GeneratedRegistrationPlan
 9{
 10    public GeneratedRegistrationPlan(
 11        string assemblyName,
 12        bool isAotProject,
 13        bool registersServiceCatalog,
 14        IReadOnlyList<string> referencedRegistryAssemblies,
 15        IReadOnlyList<DiscoveredFactory> emittedFactories,
 16        IReadOnlyList<DiscoveredProvider> emittedProviders,
 17        DiscoveryResult discoveryResult)
 18    {
 60219        AssemblyName = assemblyName;
 60220        IsAotProject = isAotProject;
 60221        RegistersServiceCatalog = registersServiceCatalog;
 60222        ReferencedRegistryAssemblies = referencedRegistryAssemblies;
 60223        EmittedFactories = emittedFactories;
 60224        EmittedProviders = emittedProviders;
 60225        DiscoveryResult = discoveryResult;
 60226    }
 27
 194928    public string AssemblyName { get; }
 61429    public bool IsAotProject { get; }
 1230    public bool RegistersServiceCatalog { get; }
 60231    public IReadOnlyList<string> ReferencedRegistryAssemblies { get; }
 123132    public IReadOnlyList<DiscoveredFactory> EmittedFactories { get; }
 183633    public IReadOnlyList<DiscoveredProvider> EmittedProviders { get; }
 569234    public DiscoveryResult DiscoveryResult { get; }
 35
 118036    public bool HasFactoryRegistrations => EmittedFactories.Count > 0;
 37    public bool HasConfigBoundRegistrations =>
 118038        DiscoveryResult.Options.Count > 0 ||
 118039        DiscoveryResult.HttpClients.Count > 0;
 40    public bool HasHttpClientRegistrations =>
 7941        DiscoveryResult.HttpClients.Count > 0;
 177042    public bool HasProviderRegistrations => EmittedProviders.Count > 0;
 43}