Skip to content

MstatFrozenObject

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

One frozen object from an ILC size report (format 2.1+) — an object allocated at compile time and baked into the image, most commonly a string literal. For back-compat these bytes are also summed into the ArrayOfFrozenObjects blob entry.

public sealed record MstatFrozenObject : IEquatable<MstatFrozenObject>

ObjectMstatFrozenObject

MstatFrozenObject(string, string, int, string?, string?, string?, string?)

Section titled “MstatFrozenObject(string, string, int, string?, string?, string?, string?)”

One frozen object from an ILC size report (format 2.1+) — an object allocated at compile time and baked into the image, most commonly a string literal. For back-compat these bytes are also summed into the ArrayOfFrozenObjects blob entry.

Parameters:

  • TypeName (String): The frozen object’s type display name (for example System.String).
  • AssemblyName (String): The simple name of the assembly that defines the object’s type.
  • Size (Int32): The object size in bytes, including its object header.
  • NodeName (String): The compiler’s dependency-graph node name; joins to the DGML node Label.
  • OwningType (String): The type whose static data serialized this object, or null when the object is not a serialized static (string literals report null).
  • OwningAssemblyName (String): The simple name of the assembly defining OwningType, or null when the object has no owner. This — not AssemblyName — is the assembly whose code caused the bytes: a frozen string’s AssemblyName is always the core library.
  • OwningNamespace (String): The namespace of OwningType, or null when the object has no owner.
public MstatFrozenObject(string TypeName, string AssemblyName, int Size, string? NodeName, string? OwningType, string? OwningAssemblyName, string? OwningNamespace)

MstatFrozenObject(string, string, int, string?, string?)

Section titled “MstatFrozenObject(string, string, int, string?, string?)”

The pre-owner-attribution shape (five arguments), preserved so existing construction sites keep compiling. The owner attribution fields default to null.

Parameters:

  • typeName (String): The frozen object’s type display name.
  • assemblyName (String): The simple name of the assembly defining the object’s type.
  • size (Int32): The object size in bytes.
  • nodeName (String): The compiler’s dependency-graph node name.
  • owningType (String): The owning type’s display name, or null.
public MstatFrozenObject(string typeName, string assemblyName, int size, string? nodeName, string? owningType)

The simple name of the assembly that defines the object’s type.

Returns: String

public string AssemblyName { get; init; }

The compiler’s dependency-graph node name; joins to the DGML node Label.

Returns: String

public string? NodeName { get; init; }

The simple name of the assembly defining OwningType, or null when the object has no owner. This — not AssemblyName — is the assembly whose code caused the bytes: a frozen string’s AssemblyName is always the core library.

Returns: String

public string? OwningAssemblyName { get; init; }

The namespace of OwningType, or null when the object has no owner.

Returns: String

public string? OwningNamespace { get; init; }

The type whose static data serialized this object, or null when the object is not a serialized static (string literals report null).

Returns: String

public string? OwningType { get; init; }

The object size in bytes, including its object header.

Returns: Int32

public int Size { get; init; }

The frozen object’s type display name (for example System.String).

Returns: String

public string TypeName { get; init; }

Deconstruct(out string, out string, out int, out string?, out string?)

Section titled “Deconstruct(out string, out string, out int, out string?, out string?)”

The pre-owner-attribution five-output deconstruction, preserved alongside the generated seven-output one.

Parameters:

  • typeName (String): The frozen object’s type display name.
  • assemblyName (String): The simple name of the assembly defining the object’s type.
  • size (Int32): The object size in bytes.
  • nodeName (String): The compiler’s dependency-graph node name.
  • owningType (String): The owning type’s display name, or null.
public void Deconstruct(out string typeName, out string assemblyName, out int size, out string? nodeName, out string? owningType)