[JS IR] fix name clashes for imported external declarations
This commit is contained in:
committed by
TeamCityServer
parent
6e40c814c8
commit
0182c09318
@@ -0,0 +1,29 @@
|
||||
define("a", [], function() {
|
||||
|
||||
function A() {}
|
||||
|
||||
A.prototype.foo = function () {
|
||||
return "O";
|
||||
};
|
||||
|
||||
return {
|
||||
A: A,
|
||||
bar: function() { return 1; },
|
||||
prop: 10
|
||||
};
|
||||
});
|
||||
|
||||
define("b", [], function() {
|
||||
|
||||
function A() {}
|
||||
|
||||
A.prototype.foo = function () {
|
||||
return "K";
|
||||
};
|
||||
|
||||
return {
|
||||
A: A,
|
||||
bar: function() { return 2; },
|
||||
prop: 20
|
||||
};
|
||||
});
|
||||
@@ -0,0 +1,40 @@
|
||||
// EXPECTED_REACHABLE_NODES: 1284
|
||||
// FILE: a.kt
|
||||
// MODULE_KIND: AMD
|
||||
@file:JsModule("a")
|
||||
package a
|
||||
|
||||
external class A {
|
||||
fun foo(): String
|
||||
}
|
||||
|
||||
external fun bar(): Int
|
||||
|
||||
external val prop: Int
|
||||
|
||||
// FILE: b.kt
|
||||
// MODULE_KIND: AMD
|
||||
@file:JsModule("b")
|
||||
package b
|
||||
|
||||
external class A {
|
||||
fun foo(): String
|
||||
}
|
||||
|
||||
external fun bar(): Int
|
||||
|
||||
external var prop: Int
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
import a.A as O
|
||||
import b.A as K
|
||||
|
||||
fun box(): String {
|
||||
if (a.bar() != 1) return "fail 1"
|
||||
if (a.prop != 10) return "fail 2"
|
||||
if (b.bar() != 2) return "fail 3"
|
||||
if (b.prop != 20) return "fail 4"
|
||||
|
||||
return O().foo() + K().foo()
|
||||
}
|
||||
Reference in New Issue
Block a user