SizeDiffContributor
Namespace: Dotsider.Core.Analysis.Models
Assembly: Dotsider.Core.dll
One changed entry of a size diff in flat form — the shape a CI log or a budget violation prints. Contributors carry the same identity and attribution as their tree leaves.
public sealed record SizeDiffContributor : IEquatable<SizeDiffContributor>Inheritance
Section titled “Inheritance”Object → SizeDiffContributor
Implements
Section titled “Implements”Constructors
Section titled “Constructors”SizeDiffContributor(string, string, SizeNodeKind, DiffKind, long, long, long, string, string, int, int, IReadOnlyList<string>, IReadOnlyList<string>)
Section titled “SizeDiffContributor(string, string, SizeNodeKind, DiffKind, long, long, long, string, string, int, int, IReadOnlyList<string>, IReadOnlyList<string>)”One changed entry of a size diff in flat form — the shape a CI log or a budget violation prints. Contributors carry the same identity and attribution as their tree leaves.
Parameters:
Name(String): Display name. Method contributors carry their parameter list so overloads stay distinct.FullPath(String): The entry’s deterministic path, matching its node in the delta tree.Kind(SizeNodeKind): The entry’s node kind.Diff(DiffKind): Added, removed, or changed (grown when Delta is positive, shrunk when negative).LeftSize(Int64): The baseline bytes, or 0 when added.RightSize(Int64): The comparison-side bytes, or 0 when removed.Delta(Int64): RightSize minus LeftSize.AssemblyName(String): The assembly the bytes are attributed to (owner-based for frozen objects, UnattributedName when unknowable), or an empty string for global sections.Namespace(String): The namespace the bytes are attributed to, or an empty string where none applies.LeftEntryCount(Int32): The number of raw baseline rows behind the entry; greater than one marks an aggregate.RightEntryCount(Int32): The number of raw comparison-side rows behind the entry.LeftNodeNames(IReadOnlyList<String>): Every baseline dependency-graph node name behind the entry.RightNodeNames(IReadOnlyList<String>): Every comparison-side dependency-graph node name behind the entry — the join keys for “why did this appear”.
public SizeDiffContributor(string Name, string FullPath, SizeNodeKind Kind, DiffKind Diff, long LeftSize, long RightSize, long Delta, string AssemblyName, string Namespace, int LeftEntryCount, int RightEntryCount, IReadOnlyList<string> LeftNodeNames, IReadOnlyList<string> RightNodeNames)Properties
Section titled “Properties”AssemblyName
Section titled “AssemblyName”The assembly the bytes are attributed to (owner-based for frozen objects, UnattributedName when unknowable), or an empty string for global sections.
Returns: String
public string AssemblyName { get; init; }Returns: Int64
public long Delta { get; init; }Added, removed, or changed (grown when Delta is positive, shrunk when negative).
Returns: DiffKind
public DiffKind Diff { get; init; }FullPath
Section titled “FullPath”The entry’s deterministic path, matching its node in the delta tree.
Returns: String
public string FullPath { get; init; }The entry’s node kind.
Returns: SizeNodeKind
public SizeNodeKind Kind { get; init; }LeftEntryCount
Section titled “LeftEntryCount”The number of raw baseline rows behind the entry; greater than one marks an aggregate.
Returns: Int32
public int LeftEntryCount { get; init; }LeftNodeNames
Section titled “LeftNodeNames”Every baseline dependency-graph node name behind the entry.
Returns: IReadOnlyList<String>
public IReadOnlyList<string> LeftNodeNames { get; init; }LeftSize
Section titled “LeftSize”The baseline bytes, or 0 when added.
Returns: Int64
public long LeftSize { get; init; }Display name. Method contributors carry their parameter list so overloads stay distinct.
Returns: String
public string Name { get; init; }Namespace
Section titled “Namespace”The namespace the bytes are attributed to, or an empty string where none applies.
Returns: String
public string Namespace { get; init; }RightEntryCount
Section titled “RightEntryCount”The number of raw comparison-side rows behind the entry.
Returns: Int32
public int RightEntryCount { get; init; }RightNodeNames
Section titled “RightNodeNames”Every comparison-side dependency-graph node name behind the entry — the join keys for “why did this appear”.
Returns: IReadOnlyList<String>
public IReadOnlyList<string> RightNodeNames { get; init; }RightSize
Section titled “RightSize”The comparison-side bytes, or 0 when removed.
Returns: Int64
public long RightSize { get; init; }Methods
Section titled “Methods”Deconstruct(out string, out string, out SizeNodeKind, out DiffKind, out long, out long, out long, out string, out string, out int, out int, out IReadOnlyList<string>, out IReadOnlyList<string>)
Section titled “Deconstruct(out string, out string, out SizeNodeKind, out DiffKind, out long, out long, out long, out string, out string, out int, out int, out IReadOnlyList<string>, out IReadOnlyList<string>)”Parameters:
Name(String)FullPath(String)Kind(SizeNodeKind)Diff(DiffKind)LeftSize(Int64)RightSize(Int64)Delta(Int64)AssemblyName(String)Namespace(String)LeftEntryCount(Int32)RightEntryCount(Int32)LeftNodeNames(IReadOnlyList<String>)RightNodeNames(IReadOnlyList<String>)
public void Deconstruct(out string Name, out string FullPath, out SizeNodeKind Kind, out DiffKind Diff, out long LeftSize, out long RightSize, out long Delta, out string AssemblyName, out string Namespace, out int LeftEntryCount, out int RightEntryCount, out IReadOnlyList<string> LeftNodeNames, out IReadOnlyList<string> RightNodeNames)Equals(object?)
Section titled “Equals(object?)”Parameters:
obj(Object)
Returns: Boolean
public override bool Equals(object? obj)Equals(SizeDiffContributor?)
Section titled “Equals(SizeDiffContributor?)”Parameters:
other(SizeDiffContributor)
Returns: Boolean
public bool Equals(SizeDiffContributor? other)GetHashCode()
Section titled “GetHashCode()”Returns: Int32
public override int GetHashCode()ToString()
Section titled “ToString()”Returns: String
public override string ToString()Members
Section titled “Members”operator !=(SizeDiffContributor?, SizeDiffContributor?)
Section titled “operator !=(SizeDiffContributor?, SizeDiffContributor?)”Parameters:
left(SizeDiffContributor)right(SizeDiffContributor)
Returns: Boolean
public static bool operator !=(SizeDiffContributor? left, SizeDiffContributor? right)operator ==(SizeDiffContributor?, SizeDiffContributor?)
Section titled “operator ==(SizeDiffContributor?, SizeDiffContributor?)”Parameters:
left(SizeDiffContributor)right(SizeDiffContributor)
Returns: Boolean
public static bool operator ==(SizeDiffContributor? left, SizeDiffContributor? right)