[IR] Supported isExpect argument (#3482)

[compiler-update] 1.3.70-dev-742
This commit is contained in:
Igor Chevdar
2019-10-22 11:55:46 +03:00
committed by GitHub
parent e21ab4f1e7
commit f50ea1397c
16 changed files with 56 additions and 32 deletions
@@ -71,7 +71,8 @@ internal val Context.getBoxFunction: (IrClass) -> IrSimpleFunction by Context.la
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).also { function ->
function.valueParameters.add(WrappedValueParameterDescriptor().let {
IrValueParameterImpl(
@@ -122,7 +123,8 @@ internal val Context.getUnboxFunction: (IrClass) -> IrSimpleFunction by Context.
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).also { function ->
function.valueParameters.add(WrappedValueParameterDescriptor().let {
IrValueParameterImpl(
@@ -140,7 +140,8 @@ internal class SpecialDeclarationsFactory(val context: Context) : KotlinMangler
isExternal = false,
isTailrec = false,
isSuspend = function.isSuspend,
returnType = returnType
returnType = returnType,
isExpect = false
).apply {
descriptor.bind(this)
parent = function.parent
@@ -39,7 +39,8 @@ internal fun makeEntryPoint(context: Context): IrFunction {
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).also { function ->
function.valueParameters.add(WrappedValueParameterDescriptor().let {
IrValueParameterImpl(
@@ -56,7 +56,8 @@ internal class EnumSpecialDeclarationsFactory(val context: Context) {
isInner = false,
isData = false,
isExternal = false,
isInline = false
isInline = false,
isExpect = false
).apply {
it.bind(this)
parent = enumClass
@@ -94,7 +95,8 @@ internal class EnumSpecialDeclarationsFactory(val context: Context) {
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).apply {
it.bind(this)
parent = implObject
@@ -570,7 +570,8 @@ private fun KotlinStubs.createFakeKotlinExternalFunction(
isInline = false,
isExternal = true,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
)
bridgeDescriptor.bind(bridge)
@@ -1195,7 +1196,7 @@ private class ObjCBlockPointerValuePassing(
OBJC_BLOCK_FUNCTION_IMPL, IrClassSymbolImpl(classDescriptor),
Name.identifier(stubs.getUniqueKotlinFunctionReferenceClassName("BlockFunctionImpl")),
ClassKind.CLASS, Visibilities.PRIVATE, Modality.FINAL,
isCompanion = false, isInner = false, isData = false, isExternal = false, isInline = false
isCompanion = false, isInner = false, isData = false, isExternal = false, isInline = false, isExpect = false
)
classDescriptor.bind(irClass)
irClass.createParameterDeclarations()
@@ -1219,7 +1220,7 @@ private class ObjCBlockPointerValuePassing(
Name.special("<init>"),
Visibilities.PUBLIC,
irClass.defaultType,
isInline = false, isExternal = false, isPrimary = true
isInline = false, isExternal = false, isPrimary = true, isExpect = false
)
constructorDescriptor.bind(constructor)
irClass.addChild(constructor)
@@ -1260,7 +1261,7 @@ private class ObjCBlockPointerValuePassing(
overriddenInvokeMethod.name,
Visibilities.PUBLIC, Modality.FINAL,
returnType = functionType.arguments.last().typeOrNull!!,
isInline = false, isExternal = false, isTailrec = false, isSuspend = false
isInline = false, isExternal = false, isTailrec = false, isSuspend = false, isExpect = false
)
invokeMethodDescriptor.bind(invokeMethod)
invokeMethod.overriddenSymbols += overriddenInvokeMethod.symbol
@@ -115,7 +115,8 @@ private fun createKotlinBridge(
isInline = false,
isExternal = isExternal,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
)
bridgeDescriptor.bind(bridge)
if (isExternal) {
@@ -501,7 +501,8 @@ private val Context.getLoweredInlineClassConstructor: (IrConstructor) -> IrSimpl
isExternal = false,
isTailrec = false,
isSuspend = false,
returnType = irConstructor.returnType
returnType = irConstructor.returnType,
isExpect = false
).apply {
descriptor.bind(this)
parent = irConstructor.parent
@@ -82,7 +82,8 @@ internal class WorkersBridgesBuilding(val context: Context) : DeclarationContain
isExternal = false,
isTailrec = false,
isSuspend = false,
returnType = context.irBuiltIns.anyNType
returnType = context.irBuiltIns.anyNType,
isExpect = false
).apply {
it.bind(this)
}
@@ -162,7 +162,8 @@ internal class CallableReferenceLowering(val context: Context): FileLoweringPass
isInner = false,
isData = false,
isExternal = false,
isInline = false
isInline = false,
isExpect = false
).apply {
it.bind(this)
parent = this@FunctionReferenceBuilder.parent
@@ -252,7 +253,8 @@ internal class CallableReferenceLowering(val context: Context): FileLoweringPass
functionReferenceClass.defaultType,
isInline = false,
isExternal = false,
isPrimary = true
isPrimary = true,
isExpect = false
).apply {
it.bind(this)
parent = functionReferenceClass
@@ -306,7 +308,8 @@ internal class CallableReferenceLowering(val context: Context): FileLoweringPass
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = superFunction.isSuspend
isSuspend = superFunction.isSuspend,
isExpect = false
).apply {
it.bind(this)
val function = this
@@ -122,7 +122,8 @@ internal class EnumConstructorsLowering(val context: Context) : ClassLoweringPas
constructor.returnType,
isInline = false,
isExternal = false,
isPrimary = constructor.isPrimary
isPrimary = constructor.isPrimary,
isExpect = false
).apply {
it.bind(this)
parent = constructor.parent
@@ -186,6 +186,7 @@ internal class FinallyBlocksLowering(val context: Context): FileLoweringPass, Ir
false,
false,
false,
false,
false)
)
return descriptor
@@ -107,7 +107,8 @@ internal class InitializersLowering(val context: CommonBackendContext) : ClassLo
isInline = false,
isSuspend = false,
isExternal = false,
isTailrec = false
isTailrec = false,
isExpect = false
).apply {
it.bind(this)
parent = irClass
@@ -233,7 +233,8 @@ internal class InteropLoweringPart1(val context: Context) : BaseInteropIrTransfo
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).also { result ->
resultDescriptor.bind(result)
result.parent = irClass
@@ -374,7 +375,8 @@ internal class InteropLoweringPart1(val context: Context) : BaseInteropIrTransfo
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).apply {
it.bind(this)
}
@@ -486,7 +486,8 @@ internal class NativeSuspendFunctionsLowering(ctx: Context): AbstractSuspendFunc
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).apply {
it.bind(this)
}
@@ -504,7 +505,8 @@ internal class NativeSuspendFunctionsLowering(ctx: Context): AbstractSuspendFunc
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).apply {
it.bind(this)
}
@@ -349,7 +349,8 @@ internal class TestProcessor (val context: Context) {
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).apply {
descriptor.bind(this)
parent = owner
@@ -385,7 +386,8 @@ internal class TestProcessor (val context: Context) {
isInline = false,
isExternal = false,
isTailrec = false,
isSuspend = false
isSuspend = false,
isExpect = false
).apply {
descriptor.bind(this)
parent = owner
@@ -430,7 +432,8 @@ internal class TestProcessor (val context: Context) {
testSuite.typeWithStarProjections,
isInline = false,
isExternal = false,
isPrimary = true
isPrimary = true,
isExpect = false
).apply {
descriptor.bind(this)
parent = owner
@@ -485,7 +488,8 @@ internal class TestProcessor (val context: Context) {
isInner = false,
isData = false,
isExternal = false,
isInline = false
isInline = false,
isExpect = false
).apply {
descriptor.bind(this)
createParameterDeclarations()
+6 -6
View File
@@ -18,12 +18,12 @@
buildKotlinVersion=1.3.60-dev-2755
buildKotlinCompilerRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_dev_Compiler),number:1.3.60-dev-2755,branch:default:any,pinned:true/artifacts/content/maven
remoteRoot=konan_tests
kotlinCompilerRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_KotlinPublic_Compiler),number:1.3.70-dev-478,branch:default:any,pinned:true/artifacts/content/maven
kotlinVersion=1.3.70-dev-478
kotlinStdlibRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_KotlinPublic_Compiler),number:1.3.70-dev-478,branch:default:any,pinned:true/artifacts/content/maven
kotlinStdlibVersion=1.3.70-dev-478
kotlinStdlibTestsVersion=1.3.70-dev-478
testKotlinCompilerVersion=1.3.70-dev-478
kotlinCompilerRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_KotlinPublic_Compiler),number:1.3.70-dev-742,branch:default:any,pinned:true/artifacts/content/maven
kotlinVersion=1.3.70-dev-742
kotlinStdlibRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_KotlinPublic_Compiler),number:1.3.70-dev-742,branch:default:any,pinned:true/artifacts/content/maven
kotlinStdlibVersion=1.3.70-dev-742
kotlinStdlibTestsVersion=1.3.70-dev-742
testKotlinCompilerVersion=1.3.70-dev-742
konanVersion=1.3.70
org.gradle.jvmargs='-Dfile.encoding=UTF-8'
org.gradle.workers.max=4