Preparation-time lookup indices for exact covariance and generated-call ABI queries. The indices retain source row order and the first malformed global row; consumers still decide query-specific matches and error precedence.
- data : CovarianceData
Instances For
Equations
- Miri.Input.CompilerQueryIndices.covariance raw = { data := Miri.Input.CompilerQueryIndices.buildCovariance✝ raw, exact := ⋯ }
Instances For
A helper-signature row's raw query value and its demand-time ABI result.
The Excepts retain malformed/unsupported row outcomes without making an
unused query fail during index construction.
Instances For
- rows : Std.HashMap String (Array SignatureAbiRow)
Instances For
structure
Miri.Input.CompilerQueryIndices.SignatureAbi
(runtime : RuntimeMetadata)
(raw : Lean.Json)
:
- abiCache : Option (CallResolution.FunctionAbiCache runtime)
- data : SignatureAbiData
Instances For
def
Miri.Input.CompilerQueryIndices.signatureAbi
(runtime : RuntimeMetadata)
(raw : Lean.Json)
(abiCache : Option (CallResolution.FunctionAbiCache runtime) := none)
:
SignatureAbi runtime raw
Equations
- Miri.Input.CompilerQueryIndices.signatureAbi runtime raw abiCache = { abiCache := abiCache, data := Miri.Input.CompilerQueryIndices.buildSignatureAbi✝ runtime abiCache raw, exact := ⋯ }
Instances For
def
Miri.Input.CompilerQueryIndices.covarianceRows
{raw : Lean.Json}
(index : Covariance raw)
(source target : Nat)
:
Equations
- Miri.Input.CompilerQueryIndices.covarianceRows index source target = index.data.rows.getD (Miri.Input.CompilerQueryIndices.covarianceKey✝ source target) #[]
Instances For
def
Miri.Input.CompilerQueryIndices.signatureRows
{runtime : RuntimeMetadata}
{raw : Lean.Json}
(index : SignatureAbi runtime raw)
(key : String)
:
Equations
Instances For
def
Miri.Input.CompilerQueryIndices.signatureAbiRows
{runtime : RuntimeMetadata}
{raw : Lean.Json}
(index : SignatureAbi runtime raw)
(key : String)
:
Internal query path selecting predecoded ABI outcomes while retaining each source row's index and raw record for exact duplicate checks.
Instances For
def
Miri.Input.CompilerQueryIndices.signatureRequestKey
(inputs : Array MIR.TyId)
(output : MIR.TyId)
(abi : ABI.ExternAbi)
(safety : MIR.Safety)
(cVariadic splatted : Bool)
:
Equations
- Miri.Input.CompilerQueryIndices.signatureRequestKey inputs output abi safety cVariadic splatted = Miri.Input.CompilerQueryIndices.signatureKey✝ inputs output abi safety cVariadic splatted