Skip to content

MstatMethod

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

One compiled method body from an ILC size report. Sizes are bytes of native artifact, not IL: ILC compiles each body once, so the sum over all methods is the code contribution to the binary.

public sealed record MstatMethod : IEquatable<MstatMethod>

ObjectMstatMethod

MstatMethod(string, string, string, string, int, int, int, string?, string)

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

One compiled method body from an ILC size report. Sizes are bytes of native artifact, not IL: ILC compiles each body once, so the sum over all methods is the code contribution to the binary.

Parameters:

  • Name (String): The method name, with generic arguments rendered when instantiated.
  • DeclaringType (String): The declaring type’s display name, including namespace.
  • Namespace (String): The declaring type’s namespace, or an empty string for the global namespace.
  • AssemblyName (String): The simple name of the assembly the method was compiled from.
  • Size (Int32): The native code size in bytes.
  • GcInfoSize (Int32): The GC info size in bytes.
  • EhInfoSize (Int32): The exception-handling info size in bytes, or 0 when the method has none.
  • NodeName (String): The compiler’s dependency-graph node name (format 2.0+), or null in 1.x reports. The same string appears as the node Label in the DGML graphs IlcGenerateDgmlFile emits, which is how a size entry joins to its dependency chain.
  • Signature (String): The rendered parameter-type list of the method’s definition (for example (string, int)), or an empty string when the signature could not be decoded. Overloads share a Name but never a signature, so (AssemblyName, DeclaringType, Name, Signature) identifies a method stably across builds.
public MstatMethod(string Name, string DeclaringType, string Namespace, string AssemblyName, int Size, int GcInfoSize, int EhInfoSize, string? NodeName, string Signature)

MstatMethod(string, string, string, string, int, int, int, string?)

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

The pre-signature shape (eight arguments), preserved so existing construction sites keep compiling. Signature defaults to an empty string.

Parameters:

  • name (String): The method name.
  • declaringType (String): The declaring type’s display name.
  • namespace (String): The declaring type’s namespace.
  • assemblyName (String): The simple name of the defining assembly.
  • size (Int32): The native code size in bytes.
  • gcInfoSize (Int32): The GC info size in bytes.
  • ehInfoSize (Int32): The EH info size in bytes.
  • nodeName (String): The compiler’s dependency-graph node name, or null.
public MstatMethod(string name, string declaringType, string @namespace, string assemblyName, int size, int gcInfoSize, int ehInfoSize, string? nodeName)

The simple name of the assembly the method was compiled from.

Returns: String

public string AssemblyName { get; init; }

The declaring type’s display name, including namespace.

Returns: String

public string DeclaringType { get; init; }

The exception-handling info size in bytes, or 0 when the method has none.

Returns: Int32

public int EhInfoSize { get; init; }

The GC info size in bytes.

Returns: Int32

public int GcInfoSize { get; init; }

The method name, with generic arguments rendered when instantiated.

Returns: String

public string Name { get; init; }

The declaring type’s namespace, or an empty string for the global namespace.

Returns: String

public string Namespace { get; init; }

The compiler’s dependency-graph node name (format 2.0+), or null in 1.x reports. The same string appears as the node Label in the DGML graphs IlcGenerateDgmlFile emits, which is how a size entry joins to its dependency chain.

Returns: String

public string? NodeName { get; init; }

The rendered parameter-type list of the method’s definition (for example (string, int)), or an empty string when the signature could not be decoded. Overloads share a Name but never a signature, so (AssemblyName, DeclaringType, Name, Signature) identifies a method stably across builds.

Returns: String

public string Signature { get; init; }

The native code size in bytes.

Returns: Int32

public int Size { get; init; }

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

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

The pre-signature eight-output deconstruction, preserved alongside the generated nine-output one.

Parameters:

  • name (String): The method name.
  • declaringType (String): The declaring type’s display name.
  • namespace (String): The declaring type’s namespace.
  • assemblyName (String): The simple name of the defining assembly.
  • size (Int32): The native code size in bytes.
  • gcInfoSize (Int32): The GC info size in bytes.
  • ehInfoSize (Int32): The EH info size in bytes.
  • nodeName (String): The compiler’s dependency-graph node name, or null.
public void Deconstruct(out string name, out string declaringType, out string @namespace, out string assemblyName, out int size, out int gcInfoSize, out int ehInfoSize, out string? nodeName)