split ConflictingOverloads.jet test, add property overload conflict test

This commit is contained in:
Stepan Koltsov
2012-02-18 00:33:26 +04:00
parent da0db20ed5
commit 3b56b90a7c
12 changed files with 90 additions and 95 deletions
@@ -1,95 +0,0 @@
// FILE: b.kt
// http://youtrack.jetbrains.net/issue/KT-424
class A {
<!CONFLICTING_OVERLOADS!>fun a(<!UNUSED_PARAMETER!>a<!>: Int): Int<!> = 0
<!CONFLICTING_OVERLOADS!>fun a(<!UNUSED_PARAMETER!>a<!>: Int)<!> {
}
<!CONFLICTING_OVERLOADS!>fun b()<!> {
}
<!CONFLICTING_OVERLOADS!>fun b()<!> {
}
}
// FILE: b.kt
package deepSpace
<!CONFLICTING_OVERLOADS!>fun c(<!UNUSED_PARAMETER!>s<!>: String)<!> {
}
<!CONFLICTING_OVERLOADS!>fun c(<!UNUSED_PARAMETER!>s<!>: String)<!> {
}
class B {
<!CONFLICTING_OVERLOADS!>fun d(<!UNUSED_PARAMETER!>s<!>: String)<!> {
}
<!CONFLICTING_OVERLOADS!>fun d(<!UNUSED_PARAMETER!>s<!>: String)<!> {
}
}
// FILE: b.kt
// check no error in overload in different namespaces
package ns1
fun e() = 1
// FILE: b.kt
package ns2
fun e() = 1
// FILE: b.kt
package ns3.ns1
fun e() = 1
// FILE: b.kt
// check same rules apply for ext functions
package extensionFunctions
<!CONFLICTING_OVERLOADS!>fun Int.qwe(<!UNUSED_PARAMETER!>a<!>: Float)<!> = 1
<!CONFLICTING_OVERLOADS!>fun Int.qwe(<!UNUSED_PARAMETER!>a<!>: Float)<!> = 2
fun Int.rty() = 3
fun String.rty() = 4
// FILE: b.kt
// check no error when regular function and extension function have same name
package extensionAndRegular
fun who() = 1
fun Int.who() = 1
// FILE: b.kt
// constructor vs. fun overload
package constructorVsFun
class <!CONFLICTING_OVERLOADS!>a()<!> { }
<!CONFLICTING_OVERLOADS!>fun a()<!> = 1
class Tram {
<!CONFLICTING_OVERLOADS!>fun f()<!> { }
class <!CONFLICTING_OVERLOADS!>f()<!> { }
}
class Yvayva {
class object {
<!CONFLICTING_OVERLOADS!>fun fghj()<!> { }
class <!CONFLICTING_OVERLOADS!>fghj()<!> { }
}
}
class Rtyu {
fun ololo() { }
class object {
class ololo() { }
}
}
@@ -0,0 +1,6 @@
class A {
<!CONFLICTING_OVERLOADS!>fun a(<!UNUSED_PARAMETER!>a<!>: Int): Int<!> = 0
<!CONFLICTING_OVERLOADS!>fun a(<!UNUSED_PARAMETER!>a<!>: Int)<!> {
}
}
@@ -0,0 +1,7 @@
package qwertyuiop
<!CONFLICTING_OVERLOADS!>fun c(<!UNUSED_PARAMETER!>s<!>: String)<!> {
}
<!CONFLICTING_OVERLOADS!>fun c(<!UNUSED_PARAMETER!>s<!>: String)<!> {
}
@@ -0,0 +1,5 @@
package extensionFunctions
<!CONFLICTING_OVERLOADS!>fun Int.qwe(<!UNUSED_PARAMETER!>a<!>: Float)<!> = 1
<!CONFLICTING_OVERLOADS!>fun Int.qwe(<!UNUSED_PARAMETER!>a<!>: Float)<!> = 2
@@ -0,0 +1,7 @@
class A() {
<!CONFLICTING_OVERLOADS!>fun b()<!> {
}
<!CONFLICTING_OVERLOADS!>fun b()<!> {
}
}
@@ -0,0 +1,4 @@
class Aaa() {
val <!REDECLARATION, REDECLARATION!>a<!> = 1
val <!REDECLARATION, REDECLARATION!>a<!> = 1
}
@@ -0,0 +1,4 @@
class Aaa() {
val <!REDECLARATION, REDECLARATION!>a<!> = 1
val <!REDECLARATION, REDECLARATION!>a<!> = ""
}
@@ -0,0 +1,30 @@
// constructor vs. fun overload
package constructorVsFun
class <!CONFLICTING_OVERLOADS!>a()<!> { }
<!CONFLICTING_OVERLOADS!>fun a()<!> = 1
class Tram {
<!CONFLICTING_OVERLOADS!>fun f()<!> { }
class <!CONFLICTING_OVERLOADS!>f()<!> { }
}
class Yvayva {
class object {
<!CONFLICTING_OVERLOADS!>fun fghj()<!> { }
class <!CONFLICTING_OVERLOADS!>fghj()<!> { }
}
}
class Rtyu {
fun ololo() { }
class object {
class ololo() { }
}
}
@@ -0,0 +1,3 @@
fun Int.rty() = 3
fun String.rty() = 4
@@ -0,0 +1,13 @@
// FILE: ns1.kt
// check no error in overload in different namespaces
package ns1
fun e() = 1
// FILE: ns2.kt
package ns2
fun e() = 1
// FILE: ns3ns1.kt
package ns3.ns1
fun e() = 1
@@ -0,0 +1,7 @@
// check no error when regular function and extension function have same name
package extensionAndRegular
fun who() = 1
fun Int.who() = 1
@@ -0,0 +1,4 @@
class Aaaa() {
val bb = 1
fun bb() = 1
}