Files
kotlin-fork/compiler/testData/diagnostics/tests/ConflictingOverloads.jet
T
Andrey Breslav 41fd43b5e5 GreatSyntacticShift: Syntax for function types, function literals, when and tuples
Bug:
fun loop(var times : Int) {
   while(times > 0) {
        val u : (value : Int) -> Unit = { // This arrow is confusing the lookahead
            System.out?.println(it)
        }
        u(times--)
   }
}
2011-12-20 22:55:25 +04:00

97 lines
1.9 KiB
Plaintext

// 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()<!> {
}
}
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)<!> {
}
}
}
// check no error in overload in different namespaces
package ns1 {
fun e() = 1
}
package ns2 {
fun e() = 1
}
package ns3 {
package ns1 {
fun e() = 1
}
}
// 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
}
// check no error when regular function and extension function have same name
package extensionAndRegular {
fun who() = 1
fun Int.who() = 1
}
// 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() { }
}
}
}