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

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

#include <CommonAttrOrTypeCAPIGen.h>

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

Public Member Functions

virtual ~AttrOrTypeImplementationGenerator ()=default
void setParamName (mlir::StringRef name)
 Set the parameter name for code generation.
virtual void genPrologue () const
virtual void genArrayRefParameterImpls (mlir::StringRef cppType) const
virtual void genParameterGetterImpl (mlir::StringRef cppType) const
virtual void genDefaultGetBuilderImpl (const mlir::tblgen::AttrOrTypeDef &def) const
 Generate default Get builder implementation.
void genCompleteRecord (const mlir::tblgen::AttrOrTypeDef def)
Public Member Functions inherited from ImplementationGenerator
virtual ~ImplementationGenerator ()=default
virtual void genIsAImpl () const
virtual void genExtraMethod (const ExtraMethod &method) const override
 Generate implementation 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 implementation files.

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

Definition at line 166 of file CommonAttrOrTypeCAPIGen.h.

Constructor & Destructor Documentation

◆ ~AttrOrTypeImplementationGenerator()

virtual AttrOrTypeImplementationGenerator::~AttrOrTypeImplementationGenerator ( )
virtualdefault

Member Function Documentation

◆ genArrayRefParameterImpls()

virtual void AttrOrTypeImplementationGenerator::genArrayRefParameterImpls ( mlir::StringRef cppType) const
inlinevirtual

Definition at line 181 of file CommonAttrOrTypeCAPIGen.h.

◆ genCompleteRecord()

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

Definition at line 271 of file CommonAttrOrTypeCAPIGen.h.

◆ genDefaultGetBuilderImpl()

virtual void AttrOrTypeImplementationGenerator::genDefaultGetBuilderImpl ( const mlir::tblgen::AttrOrTypeDef & def) const
inlinevirtual

Generate default Get builder implementation.

Definition at line 215 of file CommonAttrOrTypeCAPIGen.h.

◆ genParameterGetterImpl()

virtual void AttrOrTypeImplementationGenerator::genParameterGetterImpl ( mlir::StringRef cppType) const
inlinevirtual

Definition at line 198 of file CommonAttrOrTypeCAPIGen.h.

◆ genPrologue()

virtual void AttrOrTypeImplementationGenerator::genPrologue ( ) const
inlinevirtual

Definition at line 177 of file CommonAttrOrTypeCAPIGen.h.

◆ setParamName()

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

Set the parameter name for code generation.

Parameters
nameThe parameter name from the TableGen definition

Definition at line 172 of file CommonAttrOrTypeCAPIGen.h.

Member Data Documentation

◆ paramName

mlir::StringRef AttrOrTypeImplementationGenerator::paramName
protected

Definition at line 314 of file CommonAttrOrTypeCAPIGen.h.

◆ paramNameCapitalized

std::string AttrOrTypeImplementationGenerator::paramNameCapitalized
protected

Definition at line 315 of file CommonAttrOrTypeCAPIGen.h.


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