Skip to content

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>

ObjectSizeDiffContributor

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)

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; }

RightSize minus LeftSize.

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; }

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; }

The number of raw baseline rows behind the entry; greater than one marks an aggregate.

Returns: Int32

public int LeftEntryCount { get; init; }

Every baseline dependency-graph node name behind the entry.

Returns: IReadOnlyList<String>

public IReadOnlyList<string> LeftNodeNames { get; init; }

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; }

The namespace the bytes are attributed to, or an empty string where none applies.

Returns: String

public string Namespace { get; init; }

The number of raw comparison-side rows behind the entry.

Returns: Int32

public int RightEntryCount { get; init; }

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; }

The comparison-side bytes, or 0 when removed.

Returns: Int64

public long RightSize { get; init; }

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:

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)

Parameters:

Returns: Boolean

public override bool Equals(object? obj)

Parameters:

Returns: Boolean

public bool Equals(SizeDiffContributor? other)

Returns: Int32

public override int GetHashCode()

Returns: String

public override string ToString()

operator !=(SizeDiffContributor?, SizeDiffContributor?)

Section titled “operator !=(SizeDiffContributor?, SizeDiffContributor?)”

Parameters:

Returns: Boolean

public static bool operator !=(SizeDiffContributor? left, SizeDiffContributor? right)

operator ==(SizeDiffContributor?, SizeDiffContributor?)

Section titled “operator ==(SizeDiffContributor?, SizeDiffContributor?)”

Parameters:

Returns: Boolean

public static bool operator ==(SizeDiffContributor? left, SizeDiffContributor? right)