[Analysis API FIR] more tests for KtSymbolDeclarationOverridesProvider
^KT-64108
This commit is contained in:
committed by
Space Team
parent
64ebec7955
commit
e033fe5ba1
+14
@@ -0,0 +1,14 @@
|
||||
// IGNORE_FIR
|
||||
class MyClass {
|
||||
lateinit var d: IntermediateClass<Int>
|
||||
val prop = object : IntermediateClass<Int> by d {
|
||||
override fun isSc<caret>hemeFile(name: CharSequence) = name != "str"
|
||||
}
|
||||
}
|
||||
|
||||
interface IntermediateClass<SCHEME : Number> : BaseClass<SCHEME, Int> {
|
||||
}
|
||||
|
||||
interface BaseClass<SCHEME : Number, MUTABLE_SCHEME> {
|
||||
fun isSchemeFile(name: CharSequence) = true
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
ALL:
|
||||
BaseClass.isSchemeFile(name: CharSequence): Boolean
|
||||
DIRECT:
|
||||
BaseClass.isSchemeFile(name: CharSequence): Boolean
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
ALL:
|
||||
BaseClass.isSchemeFile(name: CharSequence): Boolean
|
||||
DIRECT:
|
||||
BaseClass.isSchemeFile(name: CharSequence): Boolean
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
class MyClass {
|
||||
lateinit var d: IntermediateClass<Int>
|
||||
val prop = object : IntermediateClass<Int> by d {
|
||||
override fun isSc<caret>hemeFile(name: CharSequence): Boolean = name != "str"
|
||||
}
|
||||
}
|
||||
|
||||
interface IntermediateClass<SCHEME : Number> : BaseClass<SCHEME, Int> {
|
||||
}
|
||||
|
||||
interface BaseClass<SCHEME : Number, MUTABLE_SCHEME> {
|
||||
fun isSchemeFile(name: CharSequence): Boolean = true
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
ALL:
|
||||
BaseClass.isSchemeFile(name: CharSequence): Boolean
|
||||
BaseClass.isSchemeFile(name: CharSequence): Boolean
|
||||
DIRECT:
|
||||
BaseClass.isSchemeFile(name: CharSequence): Boolean
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
// IGNORE_FIR
|
||||
package second
|
||||
|
||||
class MyClass {
|
||||
val prop = object : B<String> {
|
||||
override fun foo<caret>(x: String) = Unit
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: B.kt
|
||||
interface B<T>: C<T>, D<T>
|
||||
|
||||
// FILE: C.kt
|
||||
interface C<T> {
|
||||
fun foo(x: T) = Unit
|
||||
}
|
||||
|
||||
// FILE: D.kt
|
||||
interface D<F> {
|
||||
fun foo(x: F) = Unit
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
ALL:
|
||||
DIRECT:
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
ALL:
|
||||
DIRECT:
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package second
|
||||
|
||||
class MyClass {
|
||||
val prop = object : B<String> {
|
||||
override fun foo<caret>(x: String): Unit = Unit
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: B.kt
|
||||
interface B<T>: C<T>, D<T>
|
||||
|
||||
// FILE: C.kt
|
||||
interface C<T> {
|
||||
fun foo(x: T) {}
|
||||
}
|
||||
|
||||
// FILE: D.kt
|
||||
interface D<F> {
|
||||
fun foo(x: F) {}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
ALL:
|
||||
C.foo(x: String): Unit
|
||||
C.foo(x: T): Unit
|
||||
D.foo(x: T): Unit
|
||||
C.foo(x: T): Unit
|
||||
D.foo(x: F): Unit
|
||||
DIRECT:
|
||||
C.foo(x: String): Unit
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// IGNORE_FIR
|
||||
package second
|
||||
|
||||
class MyClass {
|
||||
val prop = object : LazySchemeProcessor<Int, Int>() {
|
||||
override fun is<caret>SchemeFile(name: CharSequence) = name != "str"
|
||||
}
|
||||
}
|
||||
|
||||
abstract class LazySchemeProcessor<SCHEME : Number, MUTABLE_SCHEME : SCHEME> {
|
||||
open fun isSchemeFile(name: CharSequence) = true
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
ALL:
|
||||
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
|
||||
DIRECT:
|
||||
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
ALL:
|
||||
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
|
||||
DIRECT:
|
||||
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package second
|
||||
|
||||
class MyClass {
|
||||
val prop = object : LazySchemeProcessor<Int, Int>() {
|
||||
override fun is<caret>SchemeFile(name: CharSequence): Boolean = name != "str"
|
||||
}
|
||||
}
|
||||
|
||||
abstract class LazySchemeProcessor<SCHEME : Number, MUTABLE_SCHEME : SCHEME> {
|
||||
open fun isSchemeFile(name: CharSequence): Boolean = true
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
ALL:
|
||||
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
|
||||
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
|
||||
DIRECT:
|
||||
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
|
||||
Reference in New Issue
Block a user