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>Inheritance
Section titled “Inheritance”Object → SizeNode
Implements
Section titled “Implements”Constructors
Section titled “Constructors”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)Properties
Section titled “Properties”AotNodeName
Section titled “AotNodeName”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; }Children
Section titled “Children”Child nodes in the hierarchy.
Returns: IReadOnlyList<SizeNode>
public IReadOnlyList<SizeNode> Children { get; init; }FullPath
Section titled “FullPath”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; }NativeAddress
Section titled “NativeAddress”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; }Methods
Section titled “Methods”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:
Name(String)FullPath(String)Size(Int64)Kind(SizeNodeKind)Children(IReadOnlyList<SizeNode>)AotNodeName(String)NativeAddress(Nullable<UInt64>)
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:
name(String): Display name.fullPath(String): Fully qualified path from root.size(Int64): Size in bytes.kind(SizeNodeKind): The granularity level.children(IReadOnlyList<SizeNode>): Child nodes.aotNodeName(String): The ILC dependency-graph node name, or null.
public void Deconstruct(out string name, out string fullPath, out long size, out SizeNodeKind kind, out IReadOnlyList<SizeNode> children, out string? aotNodeName)Equals(object?)
Section titled “Equals(object?)”Parameters:
obj(Object)
Returns: Boolean
public override bool Equals(object? obj)Equals(SizeNode?)
Section titled “Equals(SizeNode?)”Parameters:
other(SizeNode)
Returns: Boolean
public bool Equals(SizeNode? 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 !=(SizeNode?, SizeNode?)
Section titled “operator !=(SizeNode?, SizeNode?)”Parameters:
Returns: Boolean
public static bool operator !=(SizeNode? left, SizeNode? right)operator ==(SizeNode?, SizeNode?)
Section titled “operator ==(SizeNode?, SizeNode?)”Parameters:
Returns: Boolean
public static bool operator ==(SizeNode? left, SizeNode? right)