LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
OpCAPIParamHelper.cpp File Reference
#include "OpCAPIParamHelper.h"
#include "CommonCAPIGen.h"
#include <mlir/TableGen/Interfaces.h>
#include <mlir/TableGen/Operator.h>
#include <llvm/ADT/StringSet.h>
#include <llvm/Support/FormatVariadic.h>
Include dependency graph for OpCAPIParamHelper.cpp:

Go to the source code of this file.

Functions

llvm::SmallVector< ExtraMethod > getCAPIExposedOpMethods (const mlir::tblgen::Operator &op)
 Return public operation methods explicitly requested by DeclareOpInterfaceMethods traits and declared by extraClassDeclaration.

Function Documentation

◆ getCAPIExposedOpMethods()

llvm::SmallVector< ExtraMethod > getCAPIExposedOpMethods ( const mlir::tblgen::Operator & op)

Return public operation methods explicitly requested by DeclareOpInterfaceMethods traits and declared by extraClassDeclaration.

Interface methods must be named in alwaysOverriddenMethods (the optional method list passed to DeclareOpInterfaceMethods). This makes C API exposure an explicit opt-in and avoids colliding with the standard op C API accessors. Static methods and methods implemented directly in an interface trait are excluded. An extra class method takes precedence over an interface method with the same name, because the C API does not support overloads.

Definition at line 20 of file OpCAPIParamHelper.cpp.