< Summary

Information
Class: NexusLabs.Needlr.Generators.GeneratedRegistrationPlanBuilder
Assembly: NexusLabs.Needlr.Generators
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.Generators/GeneratedRegistrationPlanBuilder.cs
Line coverage
100%
Covered lines: 18
Uncovered lines: 0
Coverable lines: 18
Total lines: 40
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Create(...)100%44100%

File(s)

/home/runner/work/needlr/needlr/src/NexusLabs.Needlr.Generators/GeneratedRegistrationPlanBuilder.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using System.Linq;
 3
 4using NexusLabs.Needlr.Generators.Models;
 5
 6namespace NexusLabs.Needlr.Generators;
 7
 8/// <summary>
 9/// Normalizes discovery results into the exact inputs consumed by registration emitters.
 10/// </summary>
 11internal static class GeneratedRegistrationPlanBuilder
 12{
 13    internal static GeneratedRegistrationPlan Create(
 14        string assemblyName,
 15        bool isAotProject,
 16        bool registersServiceCatalog,
 17        IReadOnlyList<string> referencedRegistryAssemblies,
 18        DiscoveryResult discoveryResult)
 19    {
 60220        var emittedFactories = discoveryResult.Factories
 60221            .Where(factory =>
 3922                factory.GenerateFunc ||
 3923                factory.GenerateInterface)
 60224            .ToArray();
 60225        var emittedProviders = discoveryResult.Providers
 60226            .Where(provider =>
 2027                provider.IsInterface ||
 2028                provider.IsPartial)
 60229            .ToArray();
 30
 60231        return new GeneratedRegistrationPlan(
 60232            assemblyName,
 60233            isAotProject,
 60234            registersServiceCatalog,
 60235            referencedRegistryAssemblies,
 60236            emittedFactories,
 60237            emittedProviders,
 60238            discoveryResult);
 39    }
 40}