[IR][lowering] adopt 6adad1055b

JVM IR: generate delegates to DefaultImpls for fun interfaces
This commit is contained in:
Vasily Levchenko
2020-06-15 10:05:27 +02:00
parent 5fc1ec57f5
commit 0628dfbc7c
4 changed files with 8 additions and 10 deletions
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.backend.konan package org.jetbrains.kotlin.backend.konan
import org.jetbrains.kotlin.backend.common.ir.addFakeOverrides import org.jetbrains.kotlin.backend.common.ir.addFakeOverridesViaIncorrectHeuristic
import org.jetbrains.kotlin.backend.common.ir.addSimpleDelegatingConstructor import org.jetbrains.kotlin.backend.common.ir.addSimpleDelegatingConstructor
import org.jetbrains.kotlin.backend.common.ir.createParameterDeclarations import org.jetbrains.kotlin.backend.common.ir.createParameterDeclarations
import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName
@@ -115,7 +115,7 @@ internal class EnumSpecialDeclarationsFactory(val context: Context) {
) )
implObject.superTypes += context.irBuiltIns.anyType implObject.superTypes += context.irBuiltIns.anyType
implObject.addFakeOverrides() implObject.addFakeOverridesViaIncorrectHeuristic()
val itemGetterSymbol = symbols.array.functions.single { it.descriptor.name == Name.identifier("get") } val itemGetterSymbol = symbols.array.functions.single { it.descriptor.name == Name.identifier("get") }
val enumEntriesMap = enumClass.declarations val enumEntriesMap = enumClass.declarations
@@ -1,6 +1,6 @@
package org.jetbrains.kotlin.backend.konan.cgen package org.jetbrains.kotlin.backend.konan.cgen
import org.jetbrains.kotlin.backend.common.ir.addFakeOverrides import org.jetbrains.kotlin.backend.common.ir.addFakeOverridesViaIncorrectHeuristic
import org.jetbrains.kotlin.backend.common.ir.createDispatchReceiverParameter import org.jetbrains.kotlin.backend.common.ir.createDispatchReceiverParameter
import org.jetbrains.kotlin.backend.common.ir.createParameterDeclarations import org.jetbrains.kotlin.backend.common.ir.createParameterDeclarations
import org.jetbrains.kotlin.backend.common.ir.simpleFunctions import org.jetbrains.kotlin.backend.common.ir.simpleFunctions
@@ -1318,7 +1318,7 @@ private class ObjCBlockPointerValuePassing(
+irReturn(callBlock(blockPointer, arguments)) +irReturn(callBlock(blockPointer, arguments))
} }
irClass.addFakeOverrides() irClass.addFakeOverridesViaIncorrectHeuristic()
stubs.addKotlin(irClass) stubs.addKotlin(irClass)
return constructor return constructor
@@ -246,7 +246,7 @@ internal class CallableReferenceLowering(val context: Context): FileLoweringPass
} }
functionReferenceClass.superTypes += superTypes functionReferenceClass.superTypes += superTypes
functionReferenceClass.addFakeOverrides() functionReferenceClass.addFakeOverridesViaIncorrectHeuristic()
return BuiltFunctionReference(functionReferenceClass, constructor) return BuiltFunctionReference(functionReferenceClass, constructor)
} }
@@ -5,10 +5,7 @@
package org.jetbrains.kotlin.backend.konan.lower package org.jetbrains.kotlin.backend.konan.lower
import org.jetbrains.kotlin.backend.common.ir.addFakeOverrides import org.jetbrains.kotlin.backend.common.ir.*
import org.jetbrains.kotlin.backend.common.ir.createDispatchReceiverParameter
import org.jetbrains.kotlin.backend.common.ir.createParameterDeclarations
import org.jetbrains.kotlin.backend.common.ir.simpleFunctions
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.backend.common.reportWarning import org.jetbrains.kotlin.backend.common.reportWarning
import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.Context
@@ -35,6 +32,7 @@ import org.jetbrains.kotlin.ir.symbols.impl.IrConstructorSymbolImpl
import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl
import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.types.*
import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.util.addChild
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
@@ -529,7 +527,7 @@ internal class TestProcessor (val context: Context) {
companionGetter?.let { declarations += it } companionGetter?.let { declarations += it }
superTypes += symbols.baseClassSuite.typeWith(listOf(testClassType, testCompanionType)) superTypes += symbols.baseClassSuite.typeWith(listOf(testClassType, testCompanionType))
addFakeOverrides() addFakeOverridesViaIncorrectHeuristic()
} }
} }
//endregion //endregion