PreIlcSidecars
Namespace: Dotsider.Core.Analysis.Models
Assembly: Dotsider.Core.dll
The pre-ILC build outputs found for a Native AOT binary: the managed input assembly ILC compiled, its portable PDB, and any mstat/DGML sidecars discovered in the build’s intermediate tree. A result exists whenever anything was found — mstat/DGML-only results feed silent fallbacks, while the attach/offer flow gates on HasAttachableCompanion.
public sealed record PreIlcSidecars : IEquatable<PreIlcSidecars>Inheritance
Section titled “Inheritance”Object → PreIlcSidecars
Implements
Section titled “Implements”Constructors
Section titled “Constructors”PreIlcSidecars(string?, PreIlcAssemblyOrigin, string?, PreIlcPdbStatus, string?, string?, string?, string?, IReadOnlyList<string>, int, int, IReadOnlyList<string>, string?)
Section titled “PreIlcSidecars(string?, PreIlcAssemblyOrigin, string?, PreIlcPdbStatus, string?, string?, string?, string?, IReadOnlyList<string>, int, int, IReadOnlyList<string>, string?)”The pre-ILC build outputs found for a Native AOT binary: the managed input assembly ILC compiled, its portable PDB, and any mstat/DGML sidecars discovered in the build’s intermediate tree. A result exists whenever anything was found — mstat/DGML-only results feed silent fallbacks, while the attach/offer flow gates on HasAttachableCompanion.
Parameters:
ManagedAssemblyPath(String): The validated pre-ILC managed assembly, or null when none was found.Origin(PreIlcAssemblyOrigin): How ManagedAssemblyPath was located.ManagedPdbPath(String): The sidecar portable PDB probed beside the managed assembly, when one exists (kept even when mismatched, for diagnostics).PdbStatus(PreIlcPdbStatus): The portable-PDB situation of the managed assembly.MstatPath(String): An mstat sidecar found in the intermediate tree, or null.CodegenDgmlPath(String): The codegen dependency graph found in the intermediate tree, or null. Its node names match the mstat’s exactly.ScanDgmlPath(String): The scan dependency graph found in the intermediate tree, or null.IlcResponseFilePath(String): The ILC response file that was parsed, or null.LocalReferencePaths(IReadOnlyList<String>): Reference assemblies with positive local/project evidence (under the project tree or a build-output-shaped path outside any package store), metadata-validated.PackageReferenceCount(Int32): References resolved from a package store (runtime pack, NuGet cache, SDK packs) — summarized, never enumerated.OtherReferenceCount(Int32): References that exist but carry no positive local evidence — summarized and listed in Details, never classified local.UnresolvedReferencePaths(IReadOnlyList<String>): Reference paths that do not exist locally (copied build trees, foreign machines) — recorded verbatim, never treated as local.Details(String): Diagnostic notes: skipped candidates, fall-through reasons, staleness, unclassified references.
public PreIlcSidecars(string? ManagedAssemblyPath, PreIlcAssemblyOrigin Origin, string? ManagedPdbPath, PreIlcPdbStatus PdbStatus, string? MstatPath, string? CodegenDgmlPath, string? ScanDgmlPath, string? IlcResponseFilePath, IReadOnlyList<string> LocalReferencePaths, int PackageReferenceCount, int OtherReferenceCount, IReadOnlyList<string> UnresolvedReferencePaths, string? Details)Properties
Section titled “Properties”CodegenDgmlPath
Section titled “CodegenDgmlPath”The codegen dependency graph found in the intermediate tree, or null. Its node names match the mstat’s exactly.
Returns: String
public string? CodegenDgmlPath { get; init; }Details
Section titled “Details”Diagnostic notes: skipped candidates, fall-through reasons, staleness, unclassified references.
Returns: String
public string? Details { get; init; }HasAttachableCompanion
Section titled “HasAttachableCompanion”Whether a validated managed input exists to offer as an attachable companion.
Returns: Boolean
public bool HasAttachableCompanion { get; }IlcResponseFilePath
Section titled “IlcResponseFilePath”The ILC response file that was parsed, or null.
Returns: String
public string? IlcResponseFilePath { get; init; }LocalReferencePaths
Section titled “LocalReferencePaths”Reference assemblies with positive local/project evidence (under the project tree or a build-output-shaped path outside any package store), metadata-validated.
Returns: IReadOnlyList<String>
public IReadOnlyList<string> LocalReferencePaths { get; init; }ManagedAssemblyPath
Section titled “ManagedAssemblyPath”The validated pre-ILC managed assembly, or null when none was found.
Returns: String
public string? ManagedAssemblyPath { get; init; }ManagedPdbPath
Section titled “ManagedPdbPath”The sidecar portable PDB probed beside the managed assembly, when one exists (kept even when mismatched, for diagnostics).
Returns: String
public string? ManagedPdbPath { get; init; }MstatPath
Section titled “MstatPath”An mstat sidecar found in the intermediate tree, or null.
Returns: String
public string? MstatPath { get; init; }Origin
Section titled “Origin”How ManagedAssemblyPath was located.
Returns: PreIlcAssemblyOrigin
public PreIlcAssemblyOrigin Origin { get; init; }OtherReferenceCount
Section titled “OtherReferenceCount”References that exist but carry no positive local evidence — summarized and listed in Details, never classified local.
Returns: Int32
public int OtherReferenceCount { get; init; }PackageReferenceCount
Section titled “PackageReferenceCount”References resolved from a package store (runtime pack, NuGet cache, SDK packs) — summarized, never enumerated.
Returns: Int32
public int PackageReferenceCount { get; init; }PdbStatus
Section titled “PdbStatus”The portable-PDB situation of the managed assembly.
Returns: PreIlcPdbStatus
public PreIlcPdbStatus PdbStatus { get; init; }ScanDgmlPath
Section titled “ScanDgmlPath”The scan dependency graph found in the intermediate tree, or null.
Returns: String
public string? ScanDgmlPath { get; init; }UnresolvedReferencePaths
Section titled “UnresolvedReferencePaths”Reference paths that do not exist locally (copied build trees, foreign machines) — recorded verbatim, never treated as local.
Returns: IReadOnlyList<String>
public IReadOnlyList<string> UnresolvedReferencePaths { get; init; }Methods
Section titled “Methods”Deconstruct(out string?, out PreIlcAssemblyOrigin, out string?, out PreIlcPdbStatus, out string?, out string?, out string?, out string?, out IReadOnlyList<string>, out int, out int, out IReadOnlyList<string>, out string?)
Section titled “Deconstruct(out string?, out PreIlcAssemblyOrigin, out string?, out PreIlcPdbStatus, out string?, out string?, out string?, out string?, out IReadOnlyList<string>, out int, out int, out IReadOnlyList<string>, out string?)”Parameters:
ManagedAssemblyPath(String)Origin(PreIlcAssemblyOrigin)ManagedPdbPath(String)PdbStatus(PreIlcPdbStatus)MstatPath(String)CodegenDgmlPath(String)ScanDgmlPath(String)IlcResponseFilePath(String)LocalReferencePaths(IReadOnlyList<String>)PackageReferenceCount(Int32)OtherReferenceCount(Int32)UnresolvedReferencePaths(IReadOnlyList<String>)Details(String)
public void Deconstruct(out string? ManagedAssemblyPath, out PreIlcAssemblyOrigin Origin, out string? ManagedPdbPath, out PreIlcPdbStatus PdbStatus, out string? MstatPath, out string? CodegenDgmlPath, out string? ScanDgmlPath, out string? IlcResponseFilePath, out IReadOnlyList<string> LocalReferencePaths, out int PackageReferenceCount, out int OtherReferenceCount, out IReadOnlyList<string> UnresolvedReferencePaths, out string? Details)Equals(object?)
Section titled “Equals(object?)”Parameters:
obj(Object)
Returns: Boolean
public override bool Equals(object? obj)Equals(PreIlcSidecars?)
Section titled “Equals(PreIlcSidecars?)”Parameters:
other(PreIlcSidecars)
Returns: Boolean
public bool Equals(PreIlcSidecars? 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 !=(PreIlcSidecars?, PreIlcSidecars?)
Section titled “operator !=(PreIlcSidecars?, PreIlcSidecars?)”Parameters:
left(PreIlcSidecars)right(PreIlcSidecars)
Returns: Boolean
public static bool operator !=(PreIlcSidecars? left, PreIlcSidecars? right)operator ==(PreIlcSidecars?, PreIlcSidecars?)
Section titled “operator ==(PreIlcSidecars?, PreIlcSidecars?)”Parameters:
left(PreIlcSidecars)right(PreIlcSidecars)
Returns: Boolean
public static bool operator ==(PreIlcSidecars? left, PreIlcSidecars? right)