Merge pull request #47 from bnorm/kotlin-1.5.10

Update to support Kotlin 1.5.10
This commit is contained in:
Brian Norman
2021-06-02 12:41:02 -05:00
committed by GitHub
3 changed files with 11 additions and 15 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
plugins {
kotlin("jvm") version "1.5.0" apply false
kotlin("jvm") version "1.5.10" apply false
id("org.jetbrains.dokka") version "0.10.0" apply false
id("com.gradle.plugin-publish") version "0.11.0" apply false
id("com.github.gmazzo.buildconfig") version "2.0.2" apply false
@@ -29,7 +29,7 @@ import com.bnorm.power.diagram.substring
import com.bnorm.power.internal.ReturnableBlockTransformer
import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
import org.jetbrains.kotlin.backend.common.ir.asSimpleLambda
import org.jetbrains.kotlin.backend.common.ir.asInlinable
import org.jetbrains.kotlin.backend.common.ir.inline
import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.backend.js.utils.asString
import org.jetbrains.kotlin.ir.builders.irCallOp
import org.jetbrains.kotlin.ir.builders.irBlock
import org.jetbrains.kotlin.ir.builders.irString
import org.jetbrains.kotlin.ir.builders.parent
import org.jetbrains.kotlin.ir.declarations.IrFile
@@ -52,16 +52,14 @@ import org.jetbrains.kotlin.ir.types.IrSimpleType
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.types.IrTypeArgument
import org.jetbrains.kotlin.ir.types.IrTypeProjection
import org.jetbrains.kotlin.ir.types.classOrNull
import org.jetbrains.kotlin.ir.types.classifierOrNull
import org.jetbrains.kotlin.ir.types.isBoolean
import org.jetbrains.kotlin.ir.types.isSubtypeOf
import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols
import org.jetbrains.kotlin.ir.util.functions
import org.jetbrains.kotlin.ir.util.isFunctionOrKFunction
import org.jetbrains.kotlin.ir.util.kotlinFqName
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.util.OperatorNameConventions
class PowerAssertCallTransformer(
private val file: IrFile,
@@ -159,17 +157,15 @@ class PowerAssertCallTransformer(
roots: List<Node?>,
original: IrCall
): IrExpression? {
val lambda = messageArgument?.asSimpleLambda()
return when {
messageArgument is IrConst<*> -> messageArgument
messageArgument is IrStringConcatenation -> messageArgument
lambda != null -> lambda.deepCopyWithSymbols(parent).inline(parent)
.transform(ReturnableBlockTransformer(context, scope.scopeOwnerSymbol), null)
messageArgument != null -> {
val invoke = messageArgument.type.classOrNull!!.owner.functions
.single { it.name == OperatorNameConventions.INVOKE }
irCallOp(invoke.symbol, invoke.returnType, messageArgument)
}
messageArgument != null -> irBlock {
+messageArgument.deepCopyWithSymbols(parent)
.asInlinable(this)
.inline(parent)
.patchDeclarationParents(scope.getLocalDeclarationParent())
}.transform(ReturnableBlockTransformer(context, scope.scopeOwnerSymbol), null)
// TODO what should the default message be?
roots.size == 1 && original.getValueArgument(0)!!.type.isBoolean() -> irString("Assertion failed")
else -> null
+1 -1
View File
@@ -1,5 +1,5 @@
plugins {
kotlin("multiplatform") version "1.5.0"
kotlin("multiplatform") version "1.5.10"
id("com.bnorm.power.kotlin-power-assert") version "0.8.1"
}