[FIR-TEST] Add new testdata generated after changes in previous commit
This commit is contained in:
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
// FILE: f1.kt
|
||||
package test
|
||||
|
||||
class A
|
||||
class F1
|
||||
|
||||
// FILE: f2.kt
|
||||
package test
|
||||
|
||||
class A
|
||||
class F2
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package foo
|
||||
|
||||
val Int.foo: Int get() = 2
|
||||
val Int.foo: Int get() = 3
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
fun test0(f: (String, String) -> Unit) {
|
||||
f("", "")
|
||||
}
|
||||
|
||||
fun test1(f: (a: Int, a: Int) -> Unit) {
|
||||
f(1, 1)
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
enum class A {
|
||||
name
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// FILE: test1.kt
|
||||
class A
|
||||
class B(val x: Int) {
|
||||
constructor(x: Int, y: Int): this(x + y)
|
||||
}
|
||||
|
||||
// FILE: test2.kt
|
||||
fun A() {}
|
||||
fun B(x: Int) = x
|
||||
fun B(x: Int, y: Int) = x + y
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// FILE: f.kt
|
||||
package a
|
||||
class b {}
|
||||
// FILE: f.kt
|
||||
package a.b
|
||||
// FILE: f.kt
|
||||
package a.b
|
||||
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
package kt2247
|
||||
|
||||
class B {
|
||||
companion object {
|
||||
class Y {
|
||||
}
|
||||
}
|
||||
|
||||
class Y {
|
||||
}
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
enum class E {
|
||||
FIRST,
|
||||
|
||||
SECOND;
|
||||
|
||||
companion object {
|
||||
class FIRST
|
||||
|
||||
val SECOND = this
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
class A() {
|
||||
val a: Int = 1
|
||||
fun a(): Int = 2
|
||||
}
|
||||
|
||||
class B() {
|
||||
fun b(): Int = 2
|
||||
val b: Int = 1
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
public class A() {
|
||||
public val FOO: String = "test"
|
||||
|
||||
public class FOO() { }
|
||||
}
|
||||
|
||||
public class B() {
|
||||
companion object {
|
||||
public val FOO: String = "test"
|
||||
|
||||
public class FOO() { }
|
||||
}
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
class A {
|
||||
companion object B {
|
||||
class G
|
||||
val G = 1
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// FILE: a.kt
|
||||
val a : Int = 1
|
||||
fun f() {
|
||||
}
|
||||
|
||||
// FILE: b.kt
|
||||
val a : Int = 1
|
||||
fun f() {
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// KT-9733 No error shown for 2 "main" functions in the same file
|
||||
|
||||
fun main(args: Array<String>) {}
|
||||
fun main(args: Array<String>) {}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// FILE: a.kt
|
||||
fun main() {}
|
||||
|
||||
// FILE: b.kt
|
||||
fun main() {}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// FILE: a.kt
|
||||
fun main() {}
|
||||
|
||||
// FILE: b.kt
|
||||
fun main() {}
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
// FILE: a.kt
|
||||
fun main() {}
|
||||
|
||||
suspend fun main(args: Array<String>) {}
|
||||
|
||||
// FILE: b.kt
|
||||
fun main() {}
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
// !LANGUAGE: -ExtendedMainConvention
|
||||
|
||||
// FILE: a.kt
|
||||
fun main() {}
|
||||
|
||||
// FILE: b.kt
|
||||
fun main() {}
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
// FILE: a.kt
|
||||
suspend fun main() {}
|
||||
|
||||
// FILE: b.kt
|
||||
suspend fun main() {}
|
||||
compiler/testData/diagnostics/tests/redeclarations/RedeclarationSuspendMainInMultiFile_before.fir.kt
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
// !LANGUAGE: -ExtendedMainConvention
|
||||
|
||||
// FILE: a.kt
|
||||
suspend fun main(args: Array<String>) {}
|
||||
|
||||
// FILE: b.kt
|
||||
suspend fun main(args: Array<String>) {}
|
||||
@@ -0,0 +1,15 @@
|
||||
// FILE: f.kt
|
||||
package redeclarations
|
||||
object A {
|
||||
val x : Int = 0
|
||||
|
||||
val A = 1
|
||||
}
|
||||
|
||||
class A {}
|
||||
|
||||
val A = 1
|
||||
|
||||
// FILE: f.kt
|
||||
package redeclarations.A
|
||||
class A {}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// !DIAGNOSTICS: -DUPLICATE_CLASS_NAMES
|
||||
// KT-3525
|
||||
object B {
|
||||
class C
|
||||
class C
|
||||
|
||||
val a : Int = 1
|
||||
val a : Int = 1
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
fun <T, T> Pair() {}
|
||||
|
||||
class P<T, T> {}
|
||||
|
||||
val <T, T> T.foo : Int
|
||||
get() = 1
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
// FILE: a.kt
|
||||
package a
|
||||
|
||||
interface A
|
||||
interface B : A
|
||||
|
||||
private fun validFun() {}
|
||||
private val validVal = 1
|
||||
|
||||
private fun invalidFun0() {}
|
||||
private val invalidProp0 = 1
|
||||
|
||||
// NB invalidFun0 and invalidProp0 are conflicting overloads, since the following is an ambiguity:
|
||||
fun useInvalidFun0() = invalidFun0()
|
||||
fun useInvalidProp0() = invalidProp0
|
||||
|
||||
private fun invalidFun1() {}
|
||||
private fun invalidFun1() {}
|
||||
|
||||
private fun invalidFun2() {}
|
||||
public fun invalidFun2() {}
|
||||
|
||||
public fun invalidFun3() {}
|
||||
|
||||
private fun invalidFun4() {}
|
||||
public fun invalidFun4() {}
|
||||
|
||||
public fun validFun2(a: A) = a
|
||||
public fun validFun2(b: B) = b
|
||||
|
||||
// FILE: b.kt
|
||||
package a
|
||||
|
||||
private fun validFun() {}
|
||||
private val validVal = 1
|
||||
|
||||
private fun invalidFun0() {}
|
||||
|
||||
private val invalidProp0 = 1
|
||||
|
||||
internal fun invalidFun3() {}
|
||||
internal fun invalidFun4() {}
|
||||
|
||||
// FILE: c.kt
|
||||
package a
|
||||
|
||||
public fun invalidFun0() {}
|
||||
|
||||
public val invalidProp0 = 1
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
fun Foo() = 42
|
||||
|
||||
object Foo {
|
||||
fun Bar() = 239
|
||||
|
||||
object Bar
|
||||
}
|
||||
|
||||
|
||||
|
||||
fun En() = 239
|
||||
|
||||
enum class En {
|
||||
ENTRY,
|
||||
|
||||
SUBCLASS { };
|
||||
|
||||
fun ENTRY() = 42
|
||||
|
||||
fun SUBCLASS() = <!AMBIGUITY!>ENTRY<!>()
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
val Test1 = null
|
||||
class Test1
|
||||
|
||||
val Test2 = null
|
||||
interface Test2
|
||||
|
||||
val Test3 = null
|
||||
object Test3
|
||||
|
||||
val Test4 = null
|
||||
class Test4
|
||||
interface Test4
|
||||
object Test4
|
||||
@@ -0,0 +1,14 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY
|
||||
class C(val x: Int)
|
||||
|
||||
typealias CC = C
|
||||
|
||||
fun CC(x: Int) = x
|
||||
|
||||
class Outer {
|
||||
class C(val x: Int)
|
||||
|
||||
typealias CC = C
|
||||
|
||||
fun CC(x: Int) = x
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY
|
||||
// FILE: file1.kt
|
||||
class SomeClass
|
||||
|
||||
typealias SomeClass = Any
|
||||
typealias SomeClass = Any
|
||||
typealias SomeClass = Any
|
||||
|
||||
class Outer {
|
||||
class Nested
|
||||
|
||||
typealias Nested = Any
|
||||
typealias Nested = Any
|
||||
typealias Nested = Any
|
||||
}
|
||||
|
||||
// FILE: file2.kt
|
||||
typealias SomeClass = Any
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY
|
||||
// FILE: file1.kt
|
||||
typealias Test = String
|
||||
|
||||
val Test = 42
|
||||
|
||||
class Outer {
|
||||
typealias Test = String
|
||||
|
||||
val Test = 42
|
||||
}
|
||||
|
||||
typealias Test2 = String
|
||||
|
||||
// FILE: file2.kt
|
||||
val Test2 = 42
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
interface Test1<T, T>
|
||||
interface Test2<X, Y, X>
|
||||
|
||||
class Outer<T> {
|
||||
interface TestNested<T>
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
//KT-2418 Front-end allows enum constants with same name
|
||||
|
||||
package kt2418
|
||||
|
||||
enum class A {
|
||||
FOO,
|
||||
FOO
|
||||
}
|
||||
|
||||
enum class B {
|
||||
FOO;
|
||||
|
||||
fun FOO() {}
|
||||
}
|
||||
|
||||
enum class C {
|
||||
FOO;
|
||||
|
||||
val FOO = 1
|
||||
}
|
||||
|
||||
enum class D {
|
||||
FOO;
|
||||
|
||||
class FOO {}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
// !DIAGNOSTICS: -DUPLICATE_CLASS_NAMES
|
||||
//KT-2438 Prohibit inner classes with the same name
|
||||
|
||||
package kt2438
|
||||
|
||||
class B {
|
||||
class C
|
||||
class C
|
||||
}
|
||||
|
||||
|
||||
|
||||
class A {
|
||||
class B
|
||||
|
||||
companion object {
|
||||
class B
|
||||
class B
|
||||
}
|
||||
|
||||
class B
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
val a : Int = 1
|
||||
val a : Int = 1
|
||||
val a : Int = 1
|
||||
|
||||
val b : Int = 1
|
||||
val b : Int = 1
|
||||
val b : Int = 1
|
||||
val b : Int = 1
|
||||
|
||||
fun foo() {} // and here too
|
||||
fun foo() {} // and here
|
||||
fun foo() {} // and here
|
||||
fun foo() {} // and here
|
||||
|
||||
fun bar() {} // and here
|
||||
fun bar() {} // and here
|
||||
fun bar() {} // and here
|
||||
|
||||
class A {
|
||||
val a : Int = 1
|
||||
val a : Int = 1
|
||||
val a : Int = 1
|
||||
|
||||
val b : Int = 1
|
||||
val b : Int = 1
|
||||
val b : Int = 1
|
||||
val b : Int = 1
|
||||
|
||||
fun foo() {} // and here too
|
||||
fun foo() {} // and here
|
||||
fun foo() {} // and here
|
||||
fun foo() {} // and here
|
||||
|
||||
fun bar() {} // and here
|
||||
fun bar() {} // and here
|
||||
fun bar() {} // and here
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
class Outer {
|
||||
inner class Test1
|
||||
inner class Test2(val x: Int)
|
||||
inner class Test3(val x: Any)
|
||||
inner class Test4<T>(val x: T)
|
||||
inner class Test5(val x: Int) {
|
||||
constructor() : this(0)
|
||||
private constructor(z: String) : this(z.length)
|
||||
}
|
||||
|
||||
class TestNested
|
||||
|
||||
internal class TestInternal
|
||||
protected class TestProtected
|
||||
private class TestPrivate
|
||||
}
|
||||
|
||||
fun Outer.Test1() {}
|
||||
fun Outer.Test2(x: Int) {}
|
||||
fun Outer.Test3(x: String) {}
|
||||
fun <T> Outer.Test3(x: T) {}
|
||||
fun <T : Number> Outer.Test4(x: T) {}
|
||||
fun Outer.Test5() {}
|
||||
fun Outer.Test5(z: String) {}
|
||||
|
||||
fun Outer.TestNested() {}
|
||||
fun Outer.TestInternal() {}
|
||||
fun Outer.TestProtected() {}
|
||||
fun Outer.TestPrivate() {}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface Test1 {
|
||||
fun test1() {}
|
||||
}
|
||||
fun Test1.test1() {}
|
||||
|
||||
interface Test2 {
|
||||
fun test2(x: String) {}
|
||||
}
|
||||
fun Test2.test2(x: Any) {}
|
||||
|
||||
interface Test3 {
|
||||
fun test3(x: Any) {}
|
||||
}
|
||||
fun Test3.test3(x: String) {}
|
||||
fun <T : Any?> Test3.test3(x: T) {}
|
||||
|
||||
interface Test4 {
|
||||
fun <T> test4(x: T) {}
|
||||
}
|
||||
fun Test4.test4(x: String) {}
|
||||
|
||||
interface Test5 {
|
||||
fun <T> test5(x: T) {}
|
||||
}
|
||||
fun <T : Number> Test5.test5(x: T) {}
|
||||
|
||||
interface Test6 {
|
||||
fun <T : List<Any>> test6(x: T) {}
|
||||
}
|
||||
fun <T : Set<Any>> Test6.test6(x: T) {}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface WithInvoke {
|
||||
operator fun invoke()
|
||||
operator fun invoke(s: String)
|
||||
operator fun <T> invoke(x: T, y: Int)
|
||||
fun invoke(i: Int)
|
||||
}
|
||||
|
||||
interface Test1 {
|
||||
val test1: WithInvoke
|
||||
}
|
||||
|
||||
fun Test1.test1() {}
|
||||
fun Test1.test1(s: String) {}
|
||||
fun Test1.test1(i: Int) {}
|
||||
fun Test1.test1(x: Any, y: Int) {}
|
||||
fun <T : Number> Test1.test1(x: T, y: Int) {}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
data class DataClass(val x: Int)
|
||||
|
||||
fun DataClass.component1() = 42
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class C {
|
||||
fun Int.foo() {}
|
||||
}
|
||||
|
||||
fun C.foo() {}
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
interface G<T> {
|
||||
fun foo()
|
||||
val bar: Int
|
||||
}
|
||||
|
||||
fun G.foo() {}
|
||||
val G.bar: Int get() = 42
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
interface Test {
|
||||
fun foo()
|
||||
val bar: Int
|
||||
}
|
||||
|
||||
fun Test?.foo() {}
|
||||
val Test?.bar: Int get() = 42
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface Test1 {
|
||||
val test1: Int
|
||||
}
|
||||
val Test1.test1: Int get() = 42
|
||||
|
||||
interface Test2 {
|
||||
var test2: Int
|
||||
}
|
||||
val Test2.test2: Int get() = 42
|
||||
|
||||
interface Test3 {
|
||||
val test3: Int
|
||||
}
|
||||
var Test3.test3: Int get() = 42; set(v) {}
|
||||
|
||||
interface Test4 {
|
||||
val test4: Int
|
||||
}
|
||||
var Test4.test4: Int get() = 42; set(v) {}
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface IBase {
|
||||
fun foo()
|
||||
val bar: Int
|
||||
}
|
||||
|
||||
object Impl : IBase {
|
||||
override fun foo() {}
|
||||
override val bar: Int get() = 42
|
||||
}
|
||||
|
||||
object Test : IBase by Impl
|
||||
|
||||
fun Test.foo() {}
|
||||
val Test.bar: Int get() = 42
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
class WithPublicInvoke {
|
||||
public operator fun invoke() {}
|
||||
}
|
||||
|
||||
class WithInternalInvoke {
|
||||
internal operator fun invoke() {}
|
||||
}
|
||||
|
||||
class WithProtectedInvoke {
|
||||
protected operator fun invoke() {}
|
||||
}
|
||||
|
||||
class WithPrivateInvoke {
|
||||
private operator fun invoke() {}
|
||||
}
|
||||
|
||||
class Test {
|
||||
public fun publicFoo() {}
|
||||
internal fun internalFoo() {}
|
||||
protected fun protectedFoo() {}
|
||||
private fun privateFoo() {}
|
||||
|
||||
public val publicVal = 42
|
||||
internal val internalVal = 42
|
||||
protected val protectedVal = 42
|
||||
private val privateVal = 42
|
||||
|
||||
public val withPublicInvoke = WithPublicInvoke()
|
||||
public val withInternalInvoke = WithInternalInvoke()
|
||||
public val withProtectedInvoke = WithProtectedInvoke()
|
||||
public val withPrivateInvoke = WithPrivateInvoke()
|
||||
}
|
||||
|
||||
private fun Test.publicFoo() {}
|
||||
fun Test.internalFoo() {}
|
||||
fun Test.protectedFoo() {}
|
||||
fun Test.privateFoo() {}
|
||||
|
||||
val Test.publicVal: Int get() = 42
|
||||
val Test.internalVal: Int get() = 42
|
||||
val Test.protectedVal: Int get() = 42
|
||||
val Test.privateVal: Int get() = 42
|
||||
|
||||
fun Test.withPublicInvoke() {}
|
||||
fun Test.wihtInternalInvoke() {}
|
||||
fun Test.withProtectedInvoke() {}
|
||||
fun Test.withPrivateInvoke() {}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
interface IFoo {
|
||||
fun foo(i: Int): Int
|
||||
<!INAPPLICABLE_INFIX_MODIFIER!>infix fun bar(i: Int): Int<!>
|
||||
}
|
||||
|
||||
infix fun IFoo.foo(i: Int) = i
|
||||
infix fun IFoo.bar(i: Int) = i
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
interface IFoo {
|
||||
fun foo()
|
||||
}
|
||||
|
||||
fun outer() {
|
||||
fun IFoo.foo() {}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
interface IFooBar {
|
||||
fun foo()
|
||||
val bar: Int
|
||||
}
|
||||
|
||||
class Host {
|
||||
fun IFooBar.foo() {}
|
||||
val IFooBar.bar: Int get() = 42
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
interface Test {
|
||||
fun invoke()
|
||||
operator fun invoke(i: Int): Int
|
||||
}
|
||||
|
||||
operator fun Test.invoke() {}
|
||||
operator fun Test.invoke(i: Int) = i
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface Foo
|
||||
interface Bar
|
||||
|
||||
fun <T> foo(x: T): T where T: Foo, T: Bar {null!!}
|
||||
fun foo(x: Foo): Foo {null!!}
|
||||
fun foo(x: Bar): Bar {null!!}
|
||||
Reference in New Issue
Block a user