Types
AnyType dataclass
AnyType()
Bases: TypeAttribute
flowchart TD
kirin.ir.attrs.types.AnyType[AnyType]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.AnyType
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.AnyType href "" "kirin.ir.attrs.types.AnyType"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
name class-attribute instance-attribute
name = 'Any'
Name of the attribute in printing and other text format.
BottomType dataclass
BottomType()
Bases: TypeAttribute
flowchart TD
kirin.ir.attrs.types.BottomType[BottomType]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.BottomType
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.BottomType href "" "kirin.ir.attrs.types.BottomType"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
name class-attribute instance-attribute
name = 'Bottom'
Name of the attribute in printing and other text format.
is_subseteq
is_subseteq(other: TypeAttribute) -> bool
Subseteq operation.
Source code in src/kirin/ir/attrs/types.py
136 137 138 139 | |
FunctionType dataclass
FunctionType(
params_type: tuple[TypeAttribute, ...],
return_type: TypeAttribute | None = None,
)
Bases: TypeAttribute
flowchart TD
kirin.ir.attrs.types.FunctionType[FunctionType]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.FunctionType
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.FunctionType href "" "kirin.ir.attrs.types.FunctionType"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
Source code in src/kirin/ir/attrs/types.py
788 789 790 791 792 793 794 | |
name class-attribute instance-attribute
name = 'MethodType'
Name of the attribute in printing and other text format.
Generic dataclass
Generic(
body: type[PyClassType] | PyClass[PyClassType],
*vars: TypeAttribute | list | Vararg
)
Bases: TypeAttribute, Generic[PyClassType]
flowchart TD
kirin.ir.attrs.types.Generic[Generic]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.Generic
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.Generic href "" "kirin.ir.attrs.types.Generic"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
Source code in src/kirin/ir/attrs/types.py
562 563 564 565 566 567 568 569 570 571 | |
name class-attribute instance-attribute
name = 'Generic'
Name of the attribute in printing and other text format.
Literal dataclass
Literal(
data: LiteralType, datatype: TypeAttribute | None = None
)
Bases: TypeAttribute, Generic[LiteralType]
flowchart TD
kirin.ir.attrs.types.Literal[Literal]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.Literal
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.Literal href "" "kirin.ir.attrs.types.Literal"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
Source code in src/kirin/ir/attrs/types.py
310 311 312 | |
name class-attribute instance-attribute
name = 'Literal'
Name of the attribute in printing and other text format.
type instance-attribute
type: TypeAttribute = datatype or PyClass(type(data))
type of the literal, this is useful when the Python type of data does not represent the type in IR, e.g Literal(1, types.Int32)
PyClass dataclass
PyClass(
typ: type[PyClassType],
*,
display_name: str | None = None,
prefix: str = "py"
)
Bases: TypeAttribute, Generic[PyClassType]
flowchart TD
kirin.ir.attrs.types.PyClass[PyClass]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.PyClass
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.PyClass href "" "kirin.ir.attrs.types.PyClass"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
Source code in src/kirin/ir/attrs/types.py
211 212 213 214 215 216 217 218 219 220 | |
name class-attribute instance-attribute
name = 'PyClass'
Name of the attribute in printing and other text format.
SingletonTypeMeta
SingletonTypeMeta(name, bases, attrs)
Bases: TypeAttributeMeta, SingletonMeta
flowchart TD
kirin.ir.attrs.types.SingletonTypeMeta[SingletonTypeMeta]
kirin.ir.attrs.types.TypeAttributeMeta[TypeAttributeMeta]
kirin.ir.attrs.abc.LatticeAttributeMeta[LatticeAttributeMeta]
kirin.lattice.abc.SingletonMeta[SingletonMeta]
kirin.lattice.abc.LatticeMeta[LatticeMeta]
kirin.ir.attrs.abc.AttributeMeta[AttributeMeta]
kirin.ir.attrs.types.TypeAttributeMeta --> kirin.ir.attrs.types.SingletonTypeMeta
kirin.ir.attrs.abc.LatticeAttributeMeta --> kirin.ir.attrs.types.TypeAttributeMeta
kirin.lattice.abc.LatticeMeta --> kirin.ir.attrs.abc.LatticeAttributeMeta
kirin.ir.attrs.abc.AttributeMeta --> kirin.ir.attrs.abc.LatticeAttributeMeta
kirin.lattice.abc.SingletonMeta --> kirin.ir.attrs.types.SingletonTypeMeta
kirin.lattice.abc.LatticeMeta --> kirin.lattice.abc.SingletonMeta
click kirin.ir.attrs.types.SingletonTypeMeta href "" "kirin.ir.attrs.types.SingletonTypeMeta"
click kirin.ir.attrs.types.TypeAttributeMeta href "" "kirin.ir.attrs.types.TypeAttributeMeta"
click kirin.ir.attrs.abc.LatticeAttributeMeta href "" "kirin.ir.attrs.abc.LatticeAttributeMeta"
click kirin.lattice.abc.SingletonMeta href "" "kirin.lattice.abc.SingletonMeta"
click kirin.lattice.abc.LatticeMeta href "" "kirin.lattice.abc.LatticeMeta"
click kirin.ir.attrs.abc.AttributeMeta href "" "kirin.ir.attrs.abc.AttributeMeta"
Metaclass for singleton type attributes.
Singleton type attributes are attributes that have only one instance.
Examples: - AnyType - BottomType
Source code in src/kirin/lattice/abc.py
16 17 18 | |
TypeAttribute dataclass
TypeAttribute()
Bases: _TypeAttribute, SimpleMeetMixin['TypeAttribute'], IsSubsetEqMixin['TypeAttribute'], BoundedLattice['TypeAttribute']
flowchart TD
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
join
join(other: TypeAttribute) -> TypeAttribute
Join operation.
Source code in src/kirin/ir/attrs/types.py
73 74 75 76 77 78 79 80 | |
TypeAttributeMeta
Bases: LatticeAttributeMeta
flowchart TD
kirin.ir.attrs.types.TypeAttributeMeta[TypeAttributeMeta]
kirin.ir.attrs.abc.LatticeAttributeMeta[LatticeAttributeMeta]
kirin.lattice.abc.LatticeMeta[LatticeMeta]
kirin.ir.attrs.abc.AttributeMeta[AttributeMeta]
kirin.ir.attrs.abc.LatticeAttributeMeta --> kirin.ir.attrs.types.TypeAttributeMeta
kirin.lattice.abc.LatticeMeta --> kirin.ir.attrs.abc.LatticeAttributeMeta
kirin.ir.attrs.abc.AttributeMeta --> kirin.ir.attrs.abc.LatticeAttributeMeta
click kirin.ir.attrs.types.TypeAttributeMeta href "" "kirin.ir.attrs.types.TypeAttributeMeta"
click kirin.ir.attrs.abc.LatticeAttributeMeta href "" "kirin.ir.attrs.abc.LatticeAttributeMeta"
click kirin.lattice.abc.LatticeMeta href "" "kirin.lattice.abc.LatticeMeta"
click kirin.ir.attrs.abc.AttributeMeta href "" "kirin.ir.attrs.abc.AttributeMeta"
Metaclass for type attributes.
TypeVar dataclass
TypeVar(name: str, bound: TypeAttribute | None = None)
Bases: TypeAttribute
flowchart TD
kirin.ir.attrs.types.TypeVar[TypeVar]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.TypeVar
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.TypeVar href "" "kirin.ir.attrs.types.TypeVar"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
Source code in src/kirin/ir/attrs/types.py
459 460 461 | |
name class-attribute instance-attribute
name = 'TypeVar'
Name of the attribute in printing and other text format.
TypeofMethodType dataclass
TypeofMethodType()
Bases: TypeAttribute
flowchart TD
kirin.ir.attrs.types.TypeofMethodType[TypeofMethodType]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.TypeofMethodType
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.TypeofMethodType href "" "kirin.ir.attrs.types.TypeofMethodType"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
name class-attribute instance-attribute
name = 'TypeofMethodType'
Name of the attribute in printing and other text format.
Union dataclass
Union(
typ_or_set: TypeAttribute | Iterable[TypeAttribute],
*typs: TypeAttribute
)
Bases: TypeAttribute
flowchart TD
kirin.ir.attrs.types.Union[Union]
kirin.ir.attrs.types.TypeAttribute[TypeAttribute]
kirin.ir.attrs._types._TypeAttribute[_TypeAttribute]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.ir.attrs.types.TypeAttribute --> kirin.ir.attrs.types.Union
kirin.ir.attrs._types._TypeAttribute --> kirin.ir.attrs.types.TypeAttribute
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs._types._TypeAttribute
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
kirin.lattice.mixin.SimpleMeetMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.mixin.IsSubsetEqMixin --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
kirin.lattice.abc.BoundedLattice --> kirin.ir.attrs.types.TypeAttribute
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.ir.attrs.types.Union href "" "kirin.ir.attrs.types.Union"
click kirin.ir.attrs.types.TypeAttribute href "" "kirin.ir.attrs.types.TypeAttribute"
click kirin.ir.attrs._types._TypeAttribute href "" "kirin.ir.attrs._types._TypeAttribute"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
Source code in src/kirin/ir/attrs/types.py
380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | |
name class-attribute instance-attribute
name = 'Union'
Name of the attribute in printing and other text format.
join
join(other: TypeAttribute) -> TypeAttribute
Join operation.
Source code in src/kirin/ir/attrs/types.py
402 403 404 405 406 407 408 409 410 411 | |
meet
meet(other: TypeAttribute) -> TypeAttribute
Meet operation.
Source code in src/kirin/ir/attrs/types.py
413 414 415 416 417 418 419 420 421 422 | |
Vararg dataclass
Vararg(typ: TypeAttribute)
Bases: Attribute
flowchart TD
kirin.ir.attrs.types.Vararg[Vararg]
kirin.ir.attrs.abc.Attribute[Attribute]
kirin.print.printable.Printable[Printable]
kirin.ir.attrs.abc.Attribute --> kirin.ir.attrs.types.Vararg
kirin.print.printable.Printable --> kirin.ir.attrs.abc.Attribute
click kirin.ir.attrs.types.Vararg href "" "kirin.ir.attrs.types.Vararg"
click kirin.ir.attrs.abc.Attribute href "" "kirin.ir.attrs.abc.Attribute"
click kirin.print.printable.Printable href "" "kirin.print.printable.Printable"
name class-attribute instance-attribute
name = 'Vararg'
Name of the attribute in printing and other text format.