Lattice
Lattice for constant analysis.
Bottom dataclass
Bottom()
Bases: Result
Bottom element of the lattice.
is_subseteq
is_subseteq(other: Result) -> bool
Subseteq operation.
Source code in src/kirin/analysis/const/lattice.py
65 66 | |
PartialLambda dataclass
PartialLambda(
code: ir.Statement,
captured: tuple[Result, ...],
argnames: list[str] | None = None,
)
Bases: PartialConst
Partial lambda constant value.
This represents a closure with captured variables.
Source code in src/kirin/analysis/const/lattice.py
194 195 196 197 198 199 200 201 202 203 204 205 206 | |
join
join(other: Result) -> Result
Join operation.
Source code in src/kirin/analysis/const/lattice.py
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 | |
meet
meet(other: Result) -> Result
Meet operation.
Source code in src/kirin/analysis/const/lattice.py
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | |
PartialTuple dataclass
PartialTuple(data: tuple[Result, ...])
Bases: PartialConst
Partial tuple constant value.
join
join(other: Result) -> Result
Join operation.
Source code in src/kirin/analysis/const/lattice.py
129 130 131 132 133 134 135 136 137 138 139 140 | |
meet
meet(other: Result) -> Result
Meet operation.
Source code in src/kirin/analysis/const/lattice.py
142 143 144 145 146 147 148 149 150 151 152 153 | |
PartialTupleMeta
Bases: LatticeAttributeMeta
Metaclass for PartialTuple.
This metaclass canonicalizes PartialTuple instances with all Value elements into a single Value instance.
Result dataclass
Result()
Bases: Attribute, IsSubsetEqMixin['Result'], SimpleJoinMixin['Result'], SimpleMeetMixin['Result'], BoundedLattice['Result'], _ElemVisitor
Base class for constant analysis results.
Unknown dataclass
Unknown()
Bases: Result
Unknown constant value. This is the top element of the lattice.
is_subseteq
is_subseteq(other: Result) -> bool
Subseteq operation.
Source code in src/kirin/analysis/const/lattice.py
48 49 | |