import lib.core.Gen.GenTypes as GenTypes import lib.core.Gen.Generator as Generator from stdint import * import memhub import mlirlite # BaseGenMixin - generator base (state container). novirtual class BaseGenMixin: """Generator state container (base).""" # Memory / IR state Gen: Generator.Generator* Pool: memhub.MemBuddy* # Memory pool Module: mlirlite.LLVMModule* # Current LLVM module Builder: mlirlite.IRBuilder* # Current IRBuilder # Symbol / function tables SymTab: GenTypes.SymbolTable* Funcs: GenTypes.FuncEntry* FuncCount: int # Import / module info ImportedModules: str FromImports: str ModuleSha1: str # Current translation context CurFunc: mlirlite.Function* CurBuilder: mlirlite.IRBuilder* CurClassName: str def InitBaseGen(self, pool: memhub.MemBuddy*) -> int: """Initialize generator state to defaults; called from subclass constructors.""" if self is None: return 1 self.Pool = pool self.Module = None self.Builder = None self.SymTab = None self.Funcs = None self.FuncCount = 0 self.ImportedModules = None self.FromImports = None self.ModuleSha1 = None self.CurFunc = None self.CurBuilder = None self.CurClassName = None return 0