LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
AttrOrTypeHeaderGenerator Struct Reference

Generator for attribute/type C header files. More...

#include <CommonAttrOrTypeCAPIGen.h>

Inheritance diagram for AttrOrTypeHeaderGenerator:
[legend]
Collaboration diagram for AttrOrTypeHeaderGenerator:
[legend]

Public Member Functions

virtual ~AttrOrTypeHeaderGenerator ()=default
void setParamName (mlir::StringRef name)
 Set the parameter name for code generation.
virtual void genParameterGetterDecl (mlir::StringRef cppType) const
 Generate regular getter for non-ArrayRef type parameter.
virtual void genArrayRefParameterGetterDecls (mlir::StringRef cppType) const
 Generate accessor function for ArrayRef parameter elements.
virtual void genDefaultGetBuilderDecl (const mlir::tblgen::AttrOrTypeDef &def) const
 Generate default Get builder declaration.
void genCompleteRecord (const mlir::tblgen::AttrOrTypeDef def)
Public Member Functions inherited from HeaderGenerator
virtual ~HeaderGenerator ()=default
virtual void genPrologue () const
virtual void genEpilogue () const
virtual void genIsADecl () const
virtual void genExtraMethod (const ExtraMethod &method) const override
 Generate declaration for an extra method from an extraClassDeclaration
 Generator (std::string_view recordKind, llvm::raw_ostream &outputStream)
Public Member Functions inherited from Generator
 Generator (std::string_view recordKind, llvm::raw_ostream &outputStream)
virtual ~Generator ()=default
virtual void setDialectAndClassName (const mlir::tblgen::Dialect *d, mlir::StringRef cppClassName)
 Set the dialect and class name for code generation.
virtual void genExtraMethods (mlir::StringRef extraDecl) const
 Generate code for extra methods from an extraClassDeclaration

Protected Attributes

mlir::StringRef paramName
std::string paramNameCapitalized
Protected Attributes inherited from Generator
std::string kind
llvm::raw_ostream & os
std::string dialectNameCapitalized
const mlir::tblgen::Dialect * dialect
mlir::StringRef className

Detailed Description

Generator for attribute/type C header files.

This class extends HeaderGenerator to provide attribute and type-specific header generation capabilities, including parameter getters and builders.

Definition at line 24 of file CommonAttrOrTypeCAPIGen.h.

Constructor & Destructor Documentation

◆ ~AttrOrTypeHeaderGenerator()

virtual AttrOrTypeHeaderGenerator::~AttrOrTypeHeaderGenerator ( )
virtualdefault

Member Function Documentation

◆ genArrayRefParameterGetterDecls()

virtual void AttrOrTypeHeaderGenerator::genArrayRefParameterGetterDecls ( mlir::StringRef cppType) const
inlinevirtual

Generate accessor function for ArrayRef parameter elements.

Definition at line 54 of file CommonAttrOrTypeCAPIGen.h.

◆ genCompleteRecord()

void AttrOrTypeHeaderGenerator::genCompleteRecord ( const mlir::tblgen::AttrOrTypeDef def)
inline

Definition at line 103 of file CommonAttrOrTypeCAPIGen.h.

◆ genDefaultGetBuilderDecl()

virtual void AttrOrTypeHeaderGenerator::genDefaultGetBuilderDecl ( const mlir::tblgen::AttrOrTypeDef & def) const
inlinevirtual

Generate default Get builder declaration.

Definition at line 73 of file CommonAttrOrTypeCAPIGen.h.

◆ genParameterGetterDecl()

virtual void AttrOrTypeHeaderGenerator::genParameterGetterDecl ( mlir::StringRef cppType) const
inlinevirtual

Generate regular getter for non-ArrayRef type parameter.

Definition at line 36 of file CommonAttrOrTypeCAPIGen.h.

◆ setParamName()

void AttrOrTypeHeaderGenerator::setParamName ( mlir::StringRef name)
inline

Set the parameter name for code generation.

Parameters
nameThe parameter name from the TableGen definition

Definition at line 30 of file CommonAttrOrTypeCAPIGen.h.

Member Data Documentation

◆ paramName

mlir::StringRef AttrOrTypeHeaderGenerator::paramName
protected

Definition at line 146 of file CommonAttrOrTypeCAPIGen.h.

◆ paramNameCapitalized

std::string AttrOrTypeHeaderGenerator::paramNameCapitalized
protected

Definition at line 147 of file CommonAttrOrTypeCAPIGen.h.


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