LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::KnownTargetVerifier< OriginOp, TargetOp > Class Template Reference

Shared signature and template-instantiation checks for a resolved call-like target. More...

#include <KnownTargetVerifier.h>

Public Member Functions

 KnownTargetVerifier (OriginOp *op, const SymbolLookupResult< TargetOp > &target)
TargetOp getTarget () const
 Return the resolved target for operation-specific checks.
mlir::FunctionType getTargetType () const
 Return the target signature used for input and output verification.
template<typename T>
mlir::LogicalResult verifyTypesMatch (mlir::ValueTypeRange< T > originTypes, mlir::ArrayRef< mlir::Type > tgtTypes, const char *aspect)
 Check arity and namespace-aware type compatibility, emitting call-site diagnostics.
mlir::LogicalResult verifyTemplateInstantiation (polymorphic::TemplateOp tgtOpParent)
 Verify instantiations against the enclosing template.

Detailed Description

template<typename OriginOp, typename TargetOp>
class llzk::KnownTargetVerifier< OriginOp, TargetOp >

Shared signature and template-instantiation checks for a resolved call-like target.

OriginOp must provide the LLZKCallLikeOpInterface methods, template parameters, and a callee attribute. TargetOp must provide a function type and symbol name. Operation-specific eligibility checks and error aggregation remain with the caller.

Definition at line 27 of file KnownTargetVerifier.h.

Constructor & Destructor Documentation

◆ KnownTargetVerifier()

template<typename OriginOp, typename TargetOp>
llzk::KnownTargetVerifier< OriginOp, TargetOp >::KnownTargetVerifier ( OriginOp * op,
const SymbolLookupResult< TargetOp > & target )
inline

Definition at line 29 of file KnownTargetVerifier.h.

Member Function Documentation

◆ getTarget()

template<typename OriginOp, typename TargetOp>
TargetOp llzk::KnownTargetVerifier< OriginOp, TargetOp >::getTarget ( ) const
inline

Return the resolved target for operation-specific checks.

Definition at line 34 of file KnownTargetVerifier.h.

◆ getTargetType()

template<typename OriginOp, typename TargetOp>
mlir::FunctionType llzk::KnownTargetVerifier< OriginOp, TargetOp >::getTargetType ( ) const
inline

Return the target signature used for input and output verification.

Definition at line 37 of file KnownTargetVerifier.h.

◆ verifyTemplateInstantiation()

template<typename OriginOp, typename TargetOp>
mlir::LogicalResult llzk::KnownTargetVerifier< OriginOp, TargetOp >::verifyTemplateInstantiation ( polymorphic::TemplateOp tgtOpParent)
inline

Verify instantiations against the enclosing template.

Explicit values are optional only when every template parameter appears in the target signature; provided values must agree with both declared restrictions and signature inference.

Definition at line 66 of file KnownTargetVerifier.h.

◆ verifyTypesMatch()

template<typename OriginOp, typename TargetOp>
template<typename T>
mlir::LogicalResult llzk::KnownTargetVerifier< OriginOp, TargetOp >::verifyTypesMatch ( mlir::ValueTypeRange< T > originTypes,
mlir::ArrayRef< mlir::Type > tgtTypes,
const char * aspect )
inline

Check arity and namespace-aware type compatibility, emitting call-site diagnostics.

Definition at line 41 of file KnownTargetVerifier.h.


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