rra/ilgonmic/duplicated-import-names
[JS IR] Add tests with external funs and global vals [JS IR] Non module cases are exceptions for naming [JS IR] Use fqn for jsModule on declaration [JS IR] Add test on same external names Merge-request: KT-MR-5901 Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com> ^KT-51438 fixed
This commit is contained in:
+8
-1
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.ir.backend.js.utils.*
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||
import org.jetbrains.kotlin.ir.types.IrSimpleType
|
||||
import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable
|
||||
import org.jetbrains.kotlin.ir.util.isEffectivelyExternal
|
||||
import org.jetbrains.kotlin.ir.util.parentAsClass
|
||||
import org.jetbrains.kotlin.js.backend.ast.*
|
||||
@@ -40,7 +41,13 @@ class JsNameLinkingNamer(private val context: JsIrBackendContext) : IrNamerBase(
|
||||
|
||||
when {
|
||||
jsModule != null -> {
|
||||
val name = JsName(declaration.getJsNameOrKotlinName().asString(), false)
|
||||
val nameString = if (declaration.isJsNonModule()) {
|
||||
declaration.getJsNameOrKotlinName().asString()
|
||||
} else {
|
||||
val parent = declaration.fqNameWhenAvailable!!.parent()
|
||||
parent.child(declaration.getJsNameOrKotlinName()).asString()
|
||||
}
|
||||
val name = JsName(sanitizeName(nameString), false)
|
||||
importedModules += JsImportedModule(jsModule, name, name.makeRef())
|
||||
return name
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user