< Summary

Information
Class: NexusLabs.Needlr.AgentFramework.Generators.Models.AsyncLocalScopedPropertyInfo
Assembly: NexusLabs.Needlr.AgentFramework.Generators
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework.Generators/Models/AsyncLocalScopedPropertyInfo.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 45
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
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_Name()100%11100%
get_TypeFullName()100%11100%
get_HasSetter()100%11100%
get_IsNonNullableValueType()100%11100%

File(s)

/home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework.Generators/Models/AsyncLocalScopedPropertyInfo.cs

#LineLine coverage
 1namespace NexusLabs.Needlr.AgentFramework.Generators.Models
 2{
 3    /// <summary>
 4    /// Describes a single property on the value type that the generated
 5    /// <c>[AsyncLocalScoped]</c> accessor should proxy through to
 6    /// <c>Current?.PropertyName</c>.
 7    /// </summary>
 8    internal readonly struct AsyncLocalScopedPropertyInfo
 9    {
 10        public AsyncLocalScopedPropertyInfo(
 11            string name,
 12            string typeFullName,
 13            bool hasSetter,
 14            bool isNonNullableValueType)
 15        {
 816            Name = name;
 817            TypeFullName = typeFullName;
 818            HasSetter = hasSetter;
 819            IsNonNullableValueType = isNonNullableValueType;
 820        }
 21
 22        /// <summary>The property name (e.g., "Title").</summary>
 2123        public string Name { get; }
 24
 25        /// <summary>
 26        /// The fully-qualified type name of the property, using
 27        /// <c>global::</c> prefix (e.g., "global::System.String?").
 28        /// </summary>
 829        public string TypeFullName { get; }
 30
 31        /// <summary>
 32        /// Whether the property has a setter on the value type interface,
 33        /// enabling a write-through proxy.
 34        /// </summary>
 835        public bool HasSetter { get; }
 36
 37        /// <summary>
 38        /// Whether the property type is a non-nullable value type (e.g., <c>int</c>,
 39        /// <c>bool</c>). When <see langword="true"/>, the generated getter appends
 40        /// <c>?? default</c> to the null-conditional expression to coerce the
 41        /// <c>Nullable&lt;T&gt;</c> back to <c>T</c>.
 42        /// </summary>
 843        public bool IsNonNullableValueType { get; }
 44    }
 45}