Skip to content

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>

ObjectPreIlcSidecars

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)

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; }

Diagnostic notes: skipped candidates, fall-through reasons, staleness, unclassified references.

Returns: String

public string? Details { get; init; }

Whether a validated managed input exists to offer as an attachable companion.

Returns: Boolean

public bool HasAttachableCompanion { get; }

The ILC response file that was parsed, or null.

Returns: String

public string? IlcResponseFilePath { get; init; }

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; }

The validated pre-ILC managed assembly, or null when none was found.

Returns: String

public string? ManagedAssemblyPath { get; init; }

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; }

An mstat sidecar found in the intermediate tree, or null.

Returns: String

public string? MstatPath { get; init; }

How ManagedAssemblyPath was located.

Returns: PreIlcAssemblyOrigin

public PreIlcAssemblyOrigin Origin { get; init; }

References that exist but carry no positive local evidence — summarized and listed in Details, never classified local.

Returns: Int32

public int OtherReferenceCount { get; init; }

References resolved from a package store (runtime pack, NuGet cache, SDK packs) — summarized, never enumerated.

Returns: Int32

public int PackageReferenceCount { get; init; }

The portable-PDB situation of the managed assembly.

Returns: PreIlcPdbStatus

public PreIlcPdbStatus PdbStatus { get; init; }

The scan dependency graph found in the intermediate tree, or null.

Returns: String

public string? ScanDgmlPath { get; init; }

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; }