Extract Class: Implement 'Extract Interface' refactoring
#KT-11017 Fixed
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
// NAME: X
|
||||
// INFO: {checked: "true"}
|
||||
interface T {}
|
||||
|
||||
open class A
|
||||
|
||||
// SIBLING:
|
||||
class <caret>B : A(), T {
|
||||
// INFO: {checked: "true"}
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// NAME: X
|
||||
// INFO: {checked: "true"}
|
||||
interface T {}
|
||||
|
||||
open class A
|
||||
|
||||
interface X : T {
|
||||
// INFO: {checked: "true"}
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// SIBLING:
|
||||
class B : A(), X {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// NAME: X
|
||||
// INFO: {checked: "true"}
|
||||
interface T {}
|
||||
|
||||
open class A
|
||||
|
||||
// SIBLING:
|
||||
class <caret>B : A(), T {
|
||||
// INFO: {checked: "true", toAbstract: "true"}
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// NAME: X
|
||||
// INFO: {checked: "true"}
|
||||
interface T {}
|
||||
|
||||
open class A
|
||||
|
||||
interface X : T {
|
||||
// INFO: {checked: "true", toAbstract: "true"}
|
||||
fun foo()
|
||||
}
|
||||
|
||||
// SIBLING:
|
||||
class B : A(), X {
|
||||
// INFO: {checked: "true", toAbstract: "true"}
|
||||
override fun foo() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// NAME: B
|
||||
|
||||
// INFO: {checked: "true"}
|
||||
interface I<T>
|
||||
|
||||
open class J<T>
|
||||
|
||||
// SIBLING:
|
||||
class <caret>A<T, U : List<T>, V, W, X> : J<X>(), I<W> {
|
||||
// INFO: {checked: "true"}
|
||||
fun foo(u: U) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// NAME: B
|
||||
|
||||
// INFO: {checked: "true"}
|
||||
interface I<T>
|
||||
|
||||
open class J<T>
|
||||
|
||||
interface B<T, U : List<T>, W> : I<W> {
|
||||
// INFO: {checked: "true"}
|
||||
fun foo(u: U) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// SIBLING:
|
||||
class A<T, U : List<T>, V, W, X> : J<X>(), B<T, U, W> {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// NAME: B
|
||||
|
||||
// INFO: {checked: "true"}
|
||||
interface I<T>
|
||||
|
||||
open class J<T>
|
||||
|
||||
// SIBLING:
|
||||
class <caret>A<T, U : List<T>, V, W, X> : J<X>(), I<W> {
|
||||
// INFO: {checked: "true", toAbstract: "true"}
|
||||
fun foo() {
|
||||
val u: U
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// NAME: B
|
||||
|
||||
// INFO: {checked: "true"}
|
||||
interface I<T>
|
||||
|
||||
open class J<T>
|
||||
|
||||
interface B<W> : I<W> {
|
||||
// INFO: {checked: "true", toAbstract: "true"}
|
||||
fun foo()
|
||||
}
|
||||
|
||||
// SIBLING:
|
||||
class A<T, U : List<T>, V, W, X> : J<X>(), B<W> {
|
||||
// INFO: {checked: "true", toAbstract: "true"}
|
||||
override fun foo() {
|
||||
val u: U
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
// NAME: B
|
||||
// SIBLING:
|
||||
annotation class <caret>A
|
||||
@@ -0,0 +1 @@
|
||||
Interface cannot be extracted from an annotation class
|
||||
Reference in New Issue
Block a user