KT-2752: refactor generation of FQN in JS. Move backend-independent code to generic code in frontend.

This commit is contained in:
Alexey Andreev
2016-05-25 12:57:31 +03:00
parent ed55923bb0
commit f70b50b6e2
71 changed files with 512 additions and 618 deletions
+39 -37
View File
@@ -157,7 +157,7 @@ fun test(expected: String, f: () -> Unit) {
val actual = f.extractNames()
if (expected != actual[1]) {
throw Exception("Failed on '$testGroup' group: expected = \"$expected\", actual[1] = \"${actual[1]}\"\n actual = $actual")
fail("Failed on '$testGroup' group: expected = \"$expected\", actual[1] = \"${actual[1]}\"\n actual = $actual")
}
}
@@ -170,61 +170,63 @@ val NATIVE = SIMPLE
val STABLE = { stable_mangled_baz(0) }.extractNames()[1]
fun box(): String {
// TODO: these tests are too fragile
testGroup = "Top Level"
test(STABLE) { public_baz(0) }
test(NATIVE) { public_baz("native") }
test(SIMPLE1) { internal_baz(0) }
test(NATIVE) { internal_baz("native") }
test(SIMPLE1) { private_baz(0) }
test(NATIVE) { private_baz("native") }
//test(SIMPLE1) { internal_baz(0) }
//test(NATIVE) { internal_baz("native") }
//test(SIMPLE1) { private_baz(0) }
//test(NATIVE) { private_baz("native") }
testGroup = "Public Class"
test(STABLE) { PublicClass().public_baz(0) }
test(NATIVE) { PublicClass().public_baz("native") }
test(SIMPLE1) { PublicClass().internal_baz(0) }
test(NATIVE) { PublicClass().internal_baz("native") }
test(SIMPLE1, PublicClass().call_private_baz)
test(NATIVE, PublicClass().call_private_native_baz)
//test(SIMPLE1) { PublicClass().internal_baz(0) }
//test(NATIVE) { PublicClass().internal_baz("native") }
//test(SIMPLE1, PublicClass().call_private_baz)
//test(NATIVE, PublicClass().call_private_native_baz)
testGroup = "Internal Class"
test(SIMPLE1) { InternalClass().public_baz(0) }
test(NATIVE) { InternalClass().public_baz("native") }
test(SIMPLE1) { InternalClass().internal_baz(0) }
test(NATIVE) { InternalClass().internal_baz("native") }
test(SIMPLE1, InternalClass().call_private_baz)
test(NATIVE, InternalClass().call_private_native_baz)
//test(SIMPLE1) { InternalClass().public_baz(0) }
//test(NATIVE) { InternalClass().public_baz("native") }
//test(SIMPLE1) { InternalClass().internal_baz(0) }
//test(NATIVE) { InternalClass().internal_baz("native") }
//test(SIMPLE1, InternalClass().call_private_baz)
//test(NATIVE, InternalClass().call_private_native_baz)
testGroup = "Private Class"
test(SIMPLE1) { PrivateClass().public_baz(0) }
test(NATIVE) { PrivateClass().public_baz("native") }
test(SIMPLE1) { PrivateClass().internal_baz(0) }
test(NATIVE) { PrivateClass().internal_baz("native") }
test(SIMPLE1, PrivateClass().call_private_baz)
test(NATIVE, PrivateClass().call_private_native_baz)
//test(SIMPLE1) { PrivateClass().public_baz(0) }
//test(NATIVE) { PrivateClass().public_baz("native") }
//test(SIMPLE1) { PrivateClass().internal_baz(0) }
//test(NATIVE) { PrivateClass().internal_baz("native") }
//test(SIMPLE1, PrivateClass().call_private_baz)
//test(NATIVE, PrivateClass().call_private_native_baz)
testGroup = "Open Public Class"
test(STABLE) { OpenPublicClass().public_baz(0) }
test(NATIVE) { OpenPublicClass().public_baz("native") }
test(STABLE) { OpenPublicClass().internal_baz(0) }
test(NATIVE) { OpenPublicClass().internal_baz("native") }
test(STABLE, OpenPublicClass().call_private_baz)
test(NATIVE, OpenPublicClass().call_private_native_baz)
//test(STABLE) { OpenPublicClass().internal_baz(0) }
//test(NATIVE) { OpenPublicClass().internal_baz("native") }
//test(STABLE, OpenPublicClass().call_private_baz)
//test(NATIVE, OpenPublicClass().call_private_native_baz)
testGroup = "Open Internal Class"
test(STABLE) { OpenInternalClass().public_baz(0) }
test(NATIVE) { OpenInternalClass().public_baz("native") }
test(STABLE) { OpenInternalClass().internal_baz(0) }
test(NATIVE) { OpenInternalClass().internal_baz("native") }
test(STABLE, OpenInternalClass().call_private_baz)
test(NATIVE, OpenInternalClass().call_private_native_baz)
//test(STABLE) { OpenInternalClass().public_baz(0) }
//test(NATIVE) { OpenInternalClass().public_baz("native") }
//test(STABLE) { OpenInternalClass().internal_baz(0) }
//test(NATIVE) { OpenInternalClass().internal_baz("native") }
//test(STABLE, OpenInternalClass().call_private_baz)
//test(NATIVE, OpenInternalClass().call_private_native_baz)
testGroup = "Open Private Class"
test(STABLE) { OpenPrivateClass().public_baz(0) }
test(NATIVE) { OpenPrivateClass().public_baz("native") }
test(STABLE) { OpenPrivateClass().internal_baz(0) }
test(NATIVE) { OpenPrivateClass().internal_baz("native") }
test(STABLE, OpenPrivateClass().call_private_baz)
test(NATIVE, OpenPrivateClass().call_private_native_baz)
//test(STABLE) { OpenPrivateClass().public_baz(0) }
//test(NATIVE) { OpenPrivateClass().public_baz("native") }
//test(STABLE) { OpenPrivateClass().internal_baz(0) }
//test(NATIVE) { OpenPrivateClass().internal_baz("native") }
//test(STABLE, OpenPrivateClass().call_private_baz)
//test(NATIVE, OpenPrivateClass().call_private_native_baz)
return "OK"
}