[JS IR] Not export fun with stable name and default argument
if it is not exported, but just with stable name ^KT-50464 fixed Merge-request: KT-MR-5324 Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>
This commit is contained in:
+4
-2
@@ -15,11 +15,11 @@ import org.jetbrains.kotlin.backend.common.lower.irBlockBody
|
|||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
|
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
|
||||||
import org.jetbrains.kotlin.ir.backend.js.JsLoweredDeclarationOrigin
|
import org.jetbrains.kotlin.ir.backend.js.JsLoweredDeclarationOrigin
|
||||||
|
import org.jetbrains.kotlin.ir.backend.js.export.isExported
|
||||||
import org.jetbrains.kotlin.ir.backend.js.ir.JsIrBuilder
|
import org.jetbrains.kotlin.ir.backend.js.ir.JsIrBuilder
|
||||||
import org.jetbrains.kotlin.ir.backend.js.utils.JsAnnotations
|
import org.jetbrains.kotlin.ir.backend.js.utils.JsAnnotations
|
||||||
import org.jetbrains.kotlin.ir.backend.js.utils.hasStableJsName
|
import org.jetbrains.kotlin.ir.backend.js.utils.hasStableJsName
|
||||||
import org.jetbrains.kotlin.ir.builders.*
|
import org.jetbrains.kotlin.ir.builders.*
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.addFunction
|
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
|
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
@@ -105,7 +105,9 @@ class ExportedDefaultParameterStub(val context: JsIrBackendContext) : Declaratio
|
|||||||
origin = JsIrBuilder.SYNTHESIZED_DECLARATION
|
origin = JsIrBuilder.SYNTHESIZED_DECLARATION
|
||||||
}
|
}
|
||||||
|
|
||||||
context.additionalExportedDeclarations.add(exportedDefaultStubFun)
|
if (declaration.isExported(context)) {
|
||||||
|
context.additionalExportedDeclarations.add(exportedDefaultStubFun)
|
||||||
|
}
|
||||||
|
|
||||||
exportedDefaultStubFun.parent = declaration.parent
|
exportedDefaultStubFun.parent = declaration.parent
|
||||||
exportedDefaultStubFun.copyParameterDeclarationsFrom(declaration)
|
exportedDefaultStubFun.copyParameterDeclarationsFrom(declaration)
|
||||||
|
|||||||
+3
@@ -30,6 +30,9 @@ class Class
|
|||||||
|
|
||||||
external interface ExternalInterface
|
external interface ExternalInterface
|
||||||
|
|
||||||
|
@JsName("bbb")
|
||||||
|
fun zzz(x: Int = 10) {}
|
||||||
|
|
||||||
// FILE: file2.kt
|
// FILE: file2.kt
|
||||||
|
|
||||||
@file:JsExport
|
@file:JsExport
|
||||||
|
|||||||
Reference in New Issue
Block a user