[KLIB] Do not include return type into mangle
This commit is contained in:
+3
-2
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleConstant
|
|||||||
import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode
|
import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.mangle.collect
|
import org.jetbrains.kotlin.backend.common.serialization.mangle.collect
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.module
|
|
||||||
import org.jetbrains.kotlin.types.*
|
import org.jetbrains.kotlin.types.*
|
||||||
import org.jetbrains.kotlin.types.typeUtil.isUnit
|
import org.jetbrains.kotlin.types.typeUtil.isUnit
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty
|
import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty
|
||||||
@@ -77,6 +76,8 @@ abstract class DescriptorMangleComputer(protected val builder: StringBuilder, pr
|
|||||||
open fun FunctionDescriptor.platformSpecificSuffix(): String? = null
|
open fun FunctionDescriptor.platformSpecificSuffix(): String? = null
|
||||||
open fun PropertyDescriptor.platformSpecificSuffix(): String? = null
|
open fun PropertyDescriptor.platformSpecificSuffix(): String? = null
|
||||||
|
|
||||||
|
protected open fun addReturnType(): Boolean = false
|
||||||
|
|
||||||
open fun FunctionDescriptor.specialValueParamPrefix(param: ValueParameterDescriptor): String = ""
|
open fun FunctionDescriptor.specialValueParamPrefix(param: ValueParameterDescriptor): String = ""
|
||||||
|
|
||||||
private val CallableDescriptor.isRealStatic: Boolean
|
private val CallableDescriptor.isRealStatic: Boolean
|
||||||
@@ -122,7 +123,7 @@ abstract class DescriptorMangleComputer(protected val builder: StringBuilder, pr
|
|||||||
.collect(builder, MangleConstant.TYPE_PARAMETERS) { mangleTypeParameter(this, it) }
|
.collect(builder, MangleConstant.TYPE_PARAMETERS) { mangleTypeParameter(this, it) }
|
||||||
|
|
||||||
returnType?.run {
|
returnType?.run {
|
||||||
if (!isCtor && !isUnit()) {
|
if (!isCtor && !isUnit() && addReturnType()) {
|
||||||
mangleType(builder, this)
|
mangleType(builder, this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-4
@@ -5,19 +5,16 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.backend.common.serialization.mangle.ir
|
package org.jetbrains.kotlin.backend.common.serialization.mangle.ir
|
||||||
|
|
||||||
import org.jetbrains.kotlin.backend.common.ir.isStatic
|
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.mangle.KotlinMangleComputer
|
import org.jetbrains.kotlin.backend.common.serialization.mangle.KotlinMangleComputer
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleConstant
|
import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleConstant
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode
|
import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.mangle.collect
|
import org.jetbrains.kotlin.backend.common.serialization.mangle.collect
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
|
||||||
import org.jetbrains.kotlin.ir.IrElement
|
import org.jetbrains.kotlin.ir.IrElement
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.*
|
import org.jetbrains.kotlin.ir.types.*
|
||||||
import org.jetbrains.kotlin.ir.util.isVararg
|
import org.jetbrains.kotlin.ir.util.isVararg
|
||||||
import org.jetbrains.kotlin.ir.util.module
|
|
||||||
import org.jetbrains.kotlin.ir.util.render
|
import org.jetbrains.kotlin.ir.util.render
|
||||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
@@ -34,6 +31,8 @@ abstract class IrMangleComputer(protected val builder: StringBuilder, private va
|
|||||||
|
|
||||||
open fun IrFunction.specialValueParamPrefix(param: IrValueParameter): String = ""
|
open fun IrFunction.specialValueParamPrefix(param: IrValueParameter): String = ""
|
||||||
|
|
||||||
|
open fun addReturnType(): Boolean = false
|
||||||
|
|
||||||
abstract override fun copy(newMode: MangleMode): IrMangleComputer
|
abstract override fun copy(newMode: MangleMode): IrMangleComputer
|
||||||
|
|
||||||
private fun StringBuilder.appendName(s: String) {
|
private fun StringBuilder.appendName(s: String) {
|
||||||
@@ -117,7 +116,7 @@ abstract class IrMangleComputer(protected val builder: StringBuilder, private va
|
|||||||
}
|
}
|
||||||
typeParameters.collect(builder, MangleConstant.TYPE_PARAMETERS) { mangleTypeParameter(this, it) }
|
typeParameters.collect(builder, MangleConstant.TYPE_PARAMETERS) { mangleTypeParameter(this, it) }
|
||||||
|
|
||||||
if (!isCtor && !returnType.isUnit()) {
|
if (!isCtor && !returnType.isUnit() && addReturnType()) {
|
||||||
mangleType(builder, returnType)
|
mangleType(builder, returnType)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user