Skip to content

MethodCorrelation

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

One pre-ILC managed method joined to its native evidence: the symbols that carry its compiled code and the mstat rows that carry its sizes.

public sealed record MethodCorrelation : IEquatable<MethodCorrelation>

ObjectMethodCorrelation

MethodCorrelation(string, MethodDefInfo, MethodCorrelationStatus, IReadOnlyList<NativeSymbol>, IReadOnlyList<MstatMethod>)

Section titled “MethodCorrelation(string, MethodDefInfo, MethodCorrelationStatus, IReadOnlyList<NativeSymbol>, IReadOnlyList<MstatMethod>)”

One pre-ILC managed method joined to its native evidence: the symbols that carry its compiled code and the mstat rows that carry its sizes.

Parameters:

  • AssemblyName (String): The simple name of the assembly the method is defined in.
  • Method (MethodDefInfo): The managed method definition.
  • Status (MethodCorrelationStatus): How the method relates to the native image.
  • NativeSymbols (IReadOnlyList<NativeSymbol>): The joined native symbols — owned when exact (several mean generic instantiations), the shared candidate pool when ambiguous.
  • MstatMethods (IReadOnlyList<MstatMethod>): The joined mstat rows, empty when no mstat sidecar was available.
public MethodCorrelation(string AssemblyName, MethodDefInfo Method, MethodCorrelationStatus Status, IReadOnlyList<NativeSymbol> NativeSymbols, IReadOnlyList<MstatMethod> MstatMethods)

The simple name of the assembly the method is defined in.

Returns: String

public string AssemblyName { get; init; }

The managed method definition.

Returns: MethodDefInfo

public MethodDefInfo Method { get; init; }

The joined mstat rows, empty when no mstat sidecar was available.

Returns: IReadOnlyList<MstatMethod>

public IReadOnlyList<MstatMethod> MstatMethods { get; init; }

The native size in bytes this method owns outright — mstat sizes preferred, symbol sizes otherwise. Zero when the evidence is shared with overloads: shared bytes are never attributed to any single candidate.

Returns: Int64

public long NativeSize { get; init; }

The joined native symbols — owned when exact (several mean generic instantiations), the shared candidate pool when ambiguous.

Returns: IReadOnlyList<NativeSymbol>

public IReadOnlyList<NativeSymbol> NativeSymbols { get; init; }

The size of the shared evidence pool this method is a candidate for, when Status reflects shared evidence. The same pool is reported on every sibling candidate; aggregate accounting counts it once.

Returns: Int64

public long SharedCandidateSize { get; init; }

How the method relates to the native image.

Returns: MethodCorrelationStatus

public MethodCorrelationStatus Status { get; init; }

Deconstruct(out string, out MethodDefInfo, out MethodCorrelationStatus, out IReadOnlyList<NativeSymbol>, out IReadOnlyList<MstatMethod>)

Section titled “Deconstruct(out string, out MethodDefInfo, out MethodCorrelationStatus, out IReadOnlyList<NativeSymbol>, out IReadOnlyList<MstatMethod>)”

Parameters:

public void Deconstruct(out string AssemblyName, out MethodDefInfo Method, out MethodCorrelationStatus Status, out IReadOnlyList<NativeSymbol> NativeSymbols, out IReadOnlyList<MstatMethod> MstatMethods)

Parameters:

Returns: Boolean

public bool Equals(MethodCorrelation? other)

Parameters:

Returns: Boolean

public override bool Equals(object? obj)

Returns: Int32

public override int GetHashCode()

Returns: String

public override string ToString()

operator !=(MethodCorrelation?, MethodCorrelation?)

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

Parameters:

Returns: Boolean

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

operator ==(MethodCorrelation?, MethodCorrelation?)

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

Parameters:

Returns: Boolean

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