All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.co.touchlab.skie.kir.irbuilder.util.AddChild.kt Maven / Gradle / Ivy

The newest version!
package co.touchlab.skie.kir.irbuilder.util

import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
import org.jetbrains.kotlin.ir.declarations.IrDeclarationContainer
import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
import org.jetbrains.kotlin.ir.util.SetDeclarationsParentVisitor

// Copied from compiler because original function is not callable from this module due to a resolution conflict caused by the same function being declared in two different files.
fun IrDeclarationContainer.addChild(declaration: IrDeclaration) {
    this.declarations += declaration
    declaration.setDeclarationsParent(this)
}

fun  T.setDeclarationsParent(parent: IrDeclarationParent): T {
    accept(SetDeclarationsParentVisitor, parent)
    return this
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy