Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit d9c2a5a

Browse files
authored
Merge pull request #47 from bnorm/kotlin-1.5.10
Update to support Kotlin 1.5.10
2 parents ab0d5d4 + 12a808e commit d9c2a5a

File tree

3 files changed

+11
-15
lines changed

3 files changed

+11
-15
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
kotlin("jvm") version "1.5.0" apply false
2+
kotlin("jvm") version "1.5.10" apply false
33
id("org.jetbrains.dokka") version "0.10.0" apply false
44
id("com.gradle.plugin-publish") version "0.11.0" apply false
55
id("com.github.gmazzo.buildconfig") version "2.0.2" apply false

kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertCallTransformer.kt

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ import com.bnorm.power.diagram.substring
2929
import com.bnorm.power.internal.ReturnableBlockTransformer
3030
import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext
3131
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
32-
import org.jetbrains.kotlin.backend.common.ir.asSimpleLambda
32+
import org.jetbrains.kotlin.backend.common.ir.asInlinable
3333
import org.jetbrains.kotlin.backend.common.ir.inline
3434
import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder
3535
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation
3636
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
3737
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
3838
import org.jetbrains.kotlin.ir.IrElement
3939
import org.jetbrains.kotlin.ir.backend.js.utils.asString
40-
import org.jetbrains.kotlin.ir.builders.irCallOp
40+
import org.jetbrains.kotlin.ir.builders.irBlock
4141
import org.jetbrains.kotlin.ir.builders.irString
4242
import org.jetbrains.kotlin.ir.builders.parent
4343
import org.jetbrains.kotlin.ir.declarations.IrFile
@@ -52,16 +52,14 @@ import org.jetbrains.kotlin.ir.types.IrSimpleType
5252
import org.jetbrains.kotlin.ir.types.IrType
5353
import org.jetbrains.kotlin.ir.types.IrTypeArgument
5454
import org.jetbrains.kotlin.ir.types.IrTypeProjection
55-
import org.jetbrains.kotlin.ir.types.classOrNull
5655
import org.jetbrains.kotlin.ir.types.classifierOrNull
5756
import org.jetbrains.kotlin.ir.types.isBoolean
5857
import org.jetbrains.kotlin.ir.types.isSubtypeOf
5958
import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols
60-
import org.jetbrains.kotlin.ir.util.functions
6159
import org.jetbrains.kotlin.ir.util.isFunctionOrKFunction
6260
import org.jetbrains.kotlin.ir.util.kotlinFqName
61+
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
6362
import org.jetbrains.kotlin.name.FqName
64-
import org.jetbrains.kotlin.util.OperatorNameConventions
6563

6664
class PowerAssertCallTransformer(
6765
private val file: IrFile,
@@ -159,17 +157,15 @@ class PowerAssertCallTransformer(
159157
roots: List<Node?>,
160158
original: IrCall
161159
): IrExpression? {
162-
val lambda = messageArgument?.asSimpleLambda()
163160
return when {
164161
messageArgument is IrConst<*> -> messageArgument
165162
messageArgument is IrStringConcatenation -> messageArgument
166-
lambda != null -> lambda.deepCopyWithSymbols(parent).inline(parent)
167-
.transform(ReturnableBlockTransformer(context, scope.scopeOwnerSymbol), null)
168-
messageArgument != null -> {
169-
val invoke = messageArgument.type.classOrNull!!.owner.functions
170-
.single { it.name == OperatorNameConventions.INVOKE }
171-
irCallOp(invoke.symbol, invoke.returnType, messageArgument)
172-
}
163+
messageArgument != null -> irBlock {
164+
+messageArgument.deepCopyWithSymbols(parent)
165+
.asInlinable(this)
166+
.inline(parent)
167+
.patchDeclarationParents(scope.getLocalDeclarationParent())
168+
}.transform(ReturnableBlockTransformer(context, scope.scopeOwnerSymbol), null)
173169
// TODO what should the default message be?
174170
roots.size == 1 && original.getValueArgument(0)!!.type.isBoolean() -> irString("Assertion failed")
175171
else -> null

sample/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
kotlin("multiplatform") version "1.5.0"
2+
kotlin("multiplatform") version "1.5.10"
33
id("com.bnorm.power.kotlin-power-assert") version "0.8.1"
44
}
55

0 commit comments

Comments
 (0)