FIR: unify common special names scattered around the code base

This commit is contained in:
Tianyu Geng
2021-07-28 14:25:24 -07:00
committed by teamcityserver
parent 263b876e6e
commit 684ef871ee
42 changed files with 161 additions and 145 deletions
@@ -34,6 +34,7 @@ import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
import java.io.StringWriter
fun ir2string(ir: IrElement?): String = ir?.render() ?: ""
@@ -424,7 +425,7 @@ fun IrFunction.createDispatchReceiverParameter(origin: IrDeclarationOrigin? = nu
startOffset, endOffset,
origin ?: parentAsClass.origin,
IrValueParameterSymbolImpl(),
Name.special("<this>"),
SpecialNames.THIS,
-1,
parentAsClass.defaultType,
null,
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.defaultType
import org.jetbrains.kotlin.ir.util.parentAsClass
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.types.Variance
@PublishedApi
@@ -156,7 +157,7 @@ internal fun IrFactory.buildConstructor(builder: IrFunctionBuilder): IrConstruct
return createConstructor(
startOffset, endOffset, origin,
IrConstructorSymbolImpl(),
Name.special("<init>"),
SpecialNames.INIT,
visibility, returnType,
isInline = isInline, isExternal = isExternal, isPrimary = isPrimary, isExpect = isExpect,
containerSource = containerSource
@@ -222,8 +223,6 @@ inline fun IrClass.addConstructor(builder: IrFunctionBuilder.() -> Unit = {}): I
constructor.parent = this@addConstructor
}
private val RECEIVER_PARAMETER_NAME = Name.special("<this>")
fun <D> buildReceiverParameter(
parent: D,
origin: IrDeclarationOrigin,
@@ -235,7 +234,7 @@ fun <D> buildReceiverParameter(
parent.factory.createValueParameter(
startOffset, endOffset, origin,
IrValueParameterSymbolImpl(),
RECEIVER_PARAMETER_NAME, -1, type, null, isCrossinline = false, isNoinline = false,
SpecialNames.THIS, -1, type, null, isCrossinline = false, isNoinline = false,
isHidden = false, isAssignable = false
).also {
it.parent = parent