mirror of
https://github.com/GayPizzaSpecifications/pork.git
synced 2026-11-04 16:02:20 +00:00
introduce ir nop to fix loop bugs
This commit is contained in:
11 files changed
+65
-12
No files matched your search
@@ -0,0 +1,5 @@
|
||||
package gay.pizza.pork.bir
|
||||
|
||||
object IrNop : IrCodeElement() {
|
||||
override fun crawl(block: (IrElement) -> Unit) {}
|
||||
}
|
||||
@@ -30,6 +30,7 @@ interface IrVisitor<T> {
|
||||
fun visitIrIndex(ir: IrIndex): T
|
||||
fun visitIrListSize(ir: IrListSize): T
|
||||
fun visitIrDeclare(ir: IrDeclare): T
|
||||
fun visitIrNop(ir: IrNop): T
|
||||
|
||||
fun visit(ir: IrElement): T = when (ir) {
|
||||
is IrBreak -> visitIrBeak(ir)
|
||||
@@ -61,5 +62,6 @@ interface IrVisitor<T> {
|
||||
is IrIndex -> visitIrIndex(ir)
|
||||
is IrListSize -> visitIrListSize(ir)
|
||||
is IrDeclare -> visitIrDeclare(ir)
|
||||
IrNop -> visitIrNop(ir as IrNop)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user