Files
pork/compiler/src/main/kotlin/gay/pizza/pork/compiler/IrSymbolWorld.kt
2023-11-22 21:40:09 -08:00

14 lines
393 B
Kotlin

package gay.pizza.pork.compiler
import gay.pizza.pork.bir.IrSymbol
import gay.pizza.pork.bir.IrSymbolAssignment
import gay.pizza.pork.bir.IrSymbolTag
class IrSymbolWorld(val irSymbolAssignment: IrSymbolAssignment) {
private val symbols = mutableMapOf<Any, IrSymbol>()
fun lookup(value: Any, tag: IrSymbolTag): IrSymbol = symbols.getOrPut(value) {
irSymbolAssignment.next(tag)
}
}