Skip to content

SizeNode

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

A node in the size treemap hierarchy. Can be assembly, namespace, type, or method — or, for Native AOT trees, a data category and its entries.

public sealed record SizeNode : IEquatable<SizeNode>

ObjectSizeNode

SizeNode(string, string, long, SizeNodeKind, IReadOnlyList<SizeNode>, string?, ulong?)

Section titled “SizeNode(string, string, long, SizeNodeKind, IReadOnlyList<SizeNode>, string?, ulong?)”

A node in the size treemap hierarchy. Can be assembly, namespace, type, or method — or, for Native AOT trees, a data category and its entries.

Parameters:

  • Name (String): Display name for this node.
  • FullPath (String): Fully qualified path from root (e.g., Assembly/Namespace/Type).
  • Size (Int64): Size in bytes attributed to this node.
  • Kind (SizeNodeKind): The granularity level of this node.
  • Children (IReadOnlyList<SizeNode>): Child nodes in the hierarchy.
  • AotNodeName (String): The ILC dependency-graph node name behind this entry, or null outside Native AOT trees. The name matches a DGML node label, which is what makes “why is this in my binary” answerable for the node.
  • NativeAddress (Nullable<UInt64>): The node’s virtual address when it maps to a Native AOT function, or null. Cross-view navigation reads this typed field rather than scraping FullPath.
public SizeNode(string Name, string FullPath, long Size, SizeNodeKind Kind, IReadOnlyList<SizeNode> Children, string? AotNodeName, ulong? NativeAddress)

SizeNode(string, string, long, SizeNodeKind, IReadOnlyList<SizeNode>, string?)

Section titled “SizeNode(string, string, long, SizeNodeKind, IReadOnlyList<SizeNode>, string?)”

The pre-#178 shape (five or six arguments), preserved so existing construction sites keep compiling. NativeAddress defaults to null.

Parameters:

  • name (String): Display name for this node.
  • fullPath (String): Fully qualified path from root.
  • size (Int64): Size in bytes attributed to this node.
  • kind (SizeNodeKind): The granularity level of this node.
  • children (IReadOnlyList<SizeNode>): Child nodes in the hierarchy.
  • aotNodeName (String): The ILC dependency-graph node name, or null.
public SizeNode(string name, string fullPath, long size, SizeNodeKind kind, IReadOnlyList<SizeNode> children, string? aotNodeName = null)

The ILC dependency-graph node name behind this entry, or null outside Native AOT trees. The name matches a DGML node label, which is what makes “why is this in my binary” answerable for the node.

Returns: String

public string? AotNodeName { get; init; }

Child nodes in the hierarchy.

Returns: IReadOnlyList<SizeNode>

public IReadOnlyList<SizeNode> Children { get; init; }

Fully qualified path from root (e.g., Assembly/Namespace/Type).

Returns: String

public string FullPath { get; init; }

The granularity level of this node.

Returns: SizeNodeKind

public SizeNodeKind Kind { get; init; }

Display name for this node.

Returns: String

public string Name { get; init; }

The node’s virtual address when it maps to a Native AOT function, or null. Cross-view navigation reads this typed field rather than scraping FullPath.

Returns: Nullable<UInt64>

public ulong? NativeAddress { get; init; }

Size in bytes attributed to this node.

Returns: Int64

public long Size { get; init; }

Deconstruct(out string, out string, out long, out SizeNodeKind, out IReadOnlyList<SizeNode>, out string?, out ulong?)

Section titled “Deconstruct(out string, out string, out long, out SizeNodeKind, out IReadOnlyList<SizeNode>, out string?, out ulong?)”

Parameters:

public void Deconstruct(out string Name, out string FullPath, out long Size, out SizeNodeKind Kind, out IReadOnlyList<SizeNode> Children, out string? AotNodeName, out ulong? NativeAddress)

Deconstruct(out string, out string, out long, out SizeNodeKind, out IReadOnlyList<SizeNode>, out string?)

Section titled “Deconstruct(out string, out string, out long, out SizeNodeKind, out IReadOnlyList<SizeNode>, out string?)”

The pre-#178 six-output deconstruction, preserved alongside the generated seven-output one.

Parameters:

public void Deconstruct(out string name, out string fullPath, out long size, out SizeNodeKind kind, out IReadOnlyList<SizeNode> children, out string? aotNodeName)

Parameters:

Returns: Boolean

public override bool Equals(object? obj)

Parameters:

Returns: Boolean

public bool Equals(SizeNode? other)

Returns: Int32

public override int GetHashCode()

Returns: String

public override string ToString()

Parameters:

Returns: Boolean

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

Parameters:

Returns: Boolean

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