Merge pull request #47 from bnorm/kotlin-1.5.10
Update to support Kotlin 1.5.10
This commit is contained in:
+1
-1
@@ -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
|
||||
|
||||
+9
-13
@@ -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,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"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user