[IR] Mark IrBlockBodyImpl with an opt-in annotation
KT-59318
This commit is contained in:
committed by
Space Team
parent
f482b6a458
commit
2096d22e18
+1
-2
@@ -38,7 +38,6 @@ import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.IrBlockBody
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConst
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockBodyImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrSetFieldImpl
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.classOrNull
|
||||
@@ -257,7 +256,7 @@ class ClassCodegen private constructor(
|
||||
name = Name.special("<clinit>")
|
||||
returnType = context.irBuiltIns.unitType
|
||||
}.apply {
|
||||
body = IrBlockBodyImpl(startOffset, endOffset)
|
||||
body = context.irFactory.createBlockBody(startOffset, endOffset)
|
||||
}
|
||||
// Should be initialized first in case some inline function call in `<clinit>` also uses assertions.
|
||||
(classInitializer.body as IrBlockBody).statements.add(0, init)
|
||||
|
||||
+1
-1
@@ -310,7 +310,7 @@ internal class FunctionReferenceLowering(private val context: JvmBackendContext)
|
||||
targetCall.putTypeArgument(typeParameterIndex, reference.getTypeArgument(typeParameterIndex))
|
||||
}
|
||||
|
||||
val proxyFunBody = IrBlockBodyImpl(startOffset, endOffset).also { proxyFun.body = it }
|
||||
val proxyFunBody = context.irFactory.createBlockBody(startOffset, endOffset).also { proxyFun.body = it }
|
||||
when {
|
||||
targetFun.returnType.isUnit() -> {
|
||||
proxyFunBody.statements.add(targetCall)
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ private class JvmOverloadsAnnotationLowering(val context: JvmBackendContext) : C
|
||||
}
|
||||
|
||||
wrapperIrFunction.body = if (target is IrConstructor) {
|
||||
IrBlockBodyImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, listOf(call))
|
||||
context.irFactory.createBlockBody(UNDEFINED_OFFSET, UNDEFINED_OFFSET, listOf(call))
|
||||
} else {
|
||||
IrExpressionBodyImpl(
|
||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET, call
|
||||
|
||||
+1
-2
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.IrCall
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrFieldAccessExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockBodyImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrGetFieldImpl
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.classifierOrNull
|
||||
@@ -174,7 +173,7 @@ class JvmPropertiesLowering(private val backendContext: JvmBackendContext) : IrE
|
||||
// generate two properties like that; should this be the getter's return type instead?
|
||||
isStatic = true, returnType = backendContext.irBuiltIns.unitType, visibility = declaration.visibility
|
||||
).apply {
|
||||
body = IrBlockBodyImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET)
|
||||
body = backendContext.irFactory.createBlockBody(UNDEFINED_OFFSET, UNDEFINED_OFFSET)
|
||||
annotations = declaration.annotations
|
||||
}
|
||||
|
||||
|
||||
+3
-6
@@ -11,12 +11,8 @@ import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
|
||||
import org.jetbrains.kotlin.backend.jvm.ir.constantValue
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.addFunction
|
||||
import org.jetbrains.kotlin.ir.declarations.IrAnonymousInitializer
|
||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.IrField
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.IrSetField
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockBodyImpl
|
||||
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
|
||||
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -48,7 +44,8 @@ class StaticInitializersLowering(override val context: JvmBackendContext) : Init
|
||||
returnType = context.irBuiltIns.unitType
|
||||
visibility = JavaDescriptorVisibilities.PACKAGE_VISIBILITY
|
||||
}.apply {
|
||||
body = IrBlockBodyImpl(irClass.startOffset, irClass.endOffset, staticInitializerStatements).patchDeclarationParents(this)
|
||||
body = context.irFactory.createBlockBody(irClass.startOffset, irClass.endOffset, staticInitializerStatements)
|
||||
.patchDeclarationParents(this)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.addFunction
|
||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||
import org.jetbrains.kotlin.ir.declarations.IrTypeAlias
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockBodyImpl
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@@ -48,7 +47,7 @@ class TypeAliasAnnotationMethodsLowering(val context: CommonBackendContext) :
|
||||
modality = Modality.OPEN
|
||||
origin = JvmLoweredDeclarationOrigin.SYNTHETIC_METHOD_FOR_PROPERTY_OR_TYPEALIAS_ANNOTATIONS
|
||||
}.apply {
|
||||
body = IrBlockBodyImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET)
|
||||
body = context.irFactory.createBlockBody(UNDEFINED_OFFSET, UNDEFINED_OFFSET)
|
||||
annotations += alias.annotations
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -110,7 +110,7 @@ internal fun IrField.createGetField(receiver: IrValueParameter? = null): IrGetFi
|
||||
}
|
||||
|
||||
internal fun List<IrStatement>.wrapWithBlockBody(): IrBlockBody {
|
||||
return IrBlockBodyImpl(SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, this)
|
||||
return IrFactoryImpl.createBlockBody(SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, this)
|
||||
}
|
||||
|
||||
internal fun IrFunctionAccessExpression.shallowCopy(copyTypeArguments: Boolean = true): IrFunctionAccessExpression {
|
||||
|
||||
+11
-1
@@ -16,15 +16,25 @@
|
||||
|
||||
package org.jetbrains.kotlin.ir.expressions.impl
|
||||
|
||||
import org.jetbrains.kotlin.ir.IrImplementationDetail
|
||||
import org.jetbrains.kotlin.ir.IrStatement
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.IrBlockBody
|
||||
import org.jetbrains.kotlin.utils.IDEAPlatforms
|
||||
import org.jetbrains.kotlin.utils.IDEAPluginsCompatibilityAPI
|
||||
|
||||
class IrBlockBodyImpl(
|
||||
class IrBlockBodyImpl @IrImplementationDetail constructor(
|
||||
override val startOffset: Int,
|
||||
override val endOffset: Int
|
||||
) : IrBlockBody() {
|
||||
|
||||
@IrImplementationDetail
|
||||
@IDEAPluginsCompatibilityAPI(
|
||||
IDEAPlatforms._233,
|
||||
message = "Use IrFactory instead of creating IR nodes directly",
|
||||
plugins = "compose-ide-plugin",
|
||||
)
|
||||
constructor(startOffset: Int, endOffset: Int, statements: List<IrStatement>) : this(startOffset, endOffset) {
|
||||
this.statements.addAll(statements)
|
||||
}
|
||||
|
||||
+1
-1
@@ -193,7 +193,7 @@ class ComposeLikeDefaultArgumentRewriter(
|
||||
}
|
||||
}
|
||||
|
||||
declaration.body = IrBlockBodyImpl(
|
||||
declaration.body = context.irFactory.createBlockBody(
|
||||
body.startOffset,
|
||||
body.endOffset,
|
||||
listOf(
|
||||
|
||||
@@ -21,7 +21,8 @@ enum class IDEAPlatforms {
|
||||
_213,
|
||||
_221,
|
||||
_222,
|
||||
_223
|
||||
_223,
|
||||
_233,
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@ internal class InitializersLowering(val context: CommonBackendContext) : ClassLo
|
||||
|
||||
createDispatchReceiverParameter()
|
||||
|
||||
body = IrBlockBodyImpl(startOffset, endOffset, allInitializers)
|
||||
body = context.irFactory.createBlockBody(startOffset, endOffset, allInitializers)
|
||||
}
|
||||
|
||||
for (initializer in allInitializers) {
|
||||
|
||||
+2
-1
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
|
||||
import org.jetbrains.kotlin.ir.declarations.IrProperty
|
||||
import org.jetbrains.kotlin.ir.declarations.IrValueParameter
|
||||
import org.jetbrains.kotlin.ir.declarations.createBlockBody
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||
@@ -373,7 +374,7 @@ class NativeAtomicfuIrBuilder(
|
||||
}.apply {
|
||||
val lambda = this
|
||||
addValueParameter("it", atomicSymbols.irBuiltIns.intType)
|
||||
body = IrBlockBodyImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, listOf(
|
||||
body = context.irFactory.createBlockBody(UNDEFINED_OFFSET, UNDEFINED_OFFSET, listOf(
|
||||
IrReturnImpl(
|
||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET,
|
||||
type = atomicSymbols.irBuiltIns.nothingType,
|
||||
|
||||
Reference in New Issue
Block a user