LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::polymorphic::StructSpecializationResolver Class Reference

Resolve concrete struct specializations referenced by poly.family metadata. More...

#include <StructSpecialization.h>

Public Member Functions

 StructSpecializationResolver (mlir::ModuleOp module)
mlir::FailureOr< component::StructDefOp > resolve (mlir::SymbolTableCollection &tables, component::StructType type, int64_t id, mlir::Operation *site, mlir::StringRef diagnosticContext)
 Resolve an ID and validate its source.

Detailed Description

Resolve concrete struct specializations referenced by poly.family metadata.

Specialization definitions, IDs, and origins must remain unchanged while this resolver is in use. Unrelated malformed IDs are ignored; referenced IDs must be unique and their poly.origin must match the source struct type.

Definition at line 28 of file StructSpecialization.h.

Constructor & Destructor Documentation

◆ StructSpecializationResolver()

llzk::polymorphic::StructSpecializationResolver::StructSpecializationResolver ( mlir::ModuleOp module)
inlineexplicit

Definition at line 35 of file StructSpecialization.h.

Member Function Documentation

◆ resolve()

FailureOr< StructDefOp > llzk::polymorphic::StructSpecializationResolver::resolve ( mlir::SymbolTableCollection & tables,
component::StructType type,
int64_t id,
mlir::Operation * site,
mlir::StringRef diagnosticContext )

Resolve an ID and validate its source.

Emit errors on site, identifying the caller using diagnosticContext (for example, "LLZK layout").

Definition at line 20 of file StructSpecialization.cpp.


The documentation for this class was generated from the following files: