Symbol
EntryPointInterface dataclass
EntryPointInterface()
Bases: StmtTrait, Generic[StmtType]
flowchart TD
kirin.ir.traits.symbol.EntryPointInterface[EntryPointInterface]
kirin.ir.traits.abc.StmtTrait[StmtTrait]
kirin.ir.traits.abc.Trait[Trait]
kirin.ir.traits.abc.StmtTrait --> kirin.ir.traits.symbol.EntryPointInterface
kirin.ir.traits.abc.Trait --> kirin.ir.traits.abc.StmtTrait
click kirin.ir.traits.symbol.EntryPointInterface href "" "kirin.ir.traits.symbol.EntryPointInterface"
click kirin.ir.traits.abc.StmtTrait href "" "kirin.ir.traits.abc.StmtTrait"
click kirin.ir.traits.abc.Trait href "" "kirin.ir.traits.abc.Trait"
A trait that indicates that a module-like statement has an entry point.
An entry point is a statement that has a symbol name attribute and is the first statement in the module.
When interpreting statements with this trait, the interpreter will look for the entry point and start calling the module from there.
SymbolOpInterface dataclass
SymbolOpInterface()
Bases: StmtTrait
flowchart TD
kirin.ir.traits.symbol.SymbolOpInterface[SymbolOpInterface]
kirin.ir.traits.abc.StmtTrait[StmtTrait]
kirin.ir.traits.abc.Trait[Trait]
kirin.ir.traits.abc.StmtTrait --> kirin.ir.traits.symbol.SymbolOpInterface
kirin.ir.traits.abc.Trait --> kirin.ir.traits.abc.StmtTrait
click kirin.ir.traits.symbol.SymbolOpInterface href "" "kirin.ir.traits.symbol.SymbolOpInterface"
click kirin.ir.traits.abc.StmtTrait href "" "kirin.ir.traits.abc.StmtTrait"
click kirin.ir.traits.abc.Trait href "" "kirin.ir.traits.abc.Trait"
A trait that indicates that a statement is a symbol operation.
A symbol operation is a statement that has a symbol name attribute.
SymbolTable dataclass
SymbolTable()
Bases: StmtTrait
flowchart TD
kirin.ir.traits.symbol.SymbolTable[SymbolTable]
kirin.ir.traits.abc.StmtTrait[StmtTrait]
kirin.ir.traits.abc.Trait[Trait]
kirin.ir.traits.abc.StmtTrait --> kirin.ir.traits.symbol.SymbolTable
kirin.ir.traits.abc.Trait --> kirin.ir.traits.abc.StmtTrait
click kirin.ir.traits.symbol.SymbolTable href "" "kirin.ir.traits.symbol.SymbolTable"
click kirin.ir.traits.abc.StmtTrait href "" "kirin.ir.traits.abc.StmtTrait"
click kirin.ir.traits.abc.Trait href "" "kirin.ir.traits.abc.Trait"
Statement with SymbolTable trait can only have one region with one block.