Create subclass intention implemented #KT-8473 Fixed
Can be used for implementing interfaces / abstract classes / sealed classes or extending open classes
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
// "Implement abstract class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
private abstract class <caret>Base {
|
||||
abstract var x: Int
|
||||
|
||||
abstract fun toInt(arg: String): Int
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// "Implement abstract class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
private abstract class Base {
|
||||
abstract var x: Int
|
||||
|
||||
abstract fun toInt(arg: String): Int
|
||||
}
|
||||
|
||||
private class BaseImpl : Base() {
|
||||
override var x: Int
|
||||
get() = throw UnsupportedOperationException()
|
||||
set(value) {
|
||||
}
|
||||
|
||||
override fun toInt(arg: String): Int {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
// "Create subclass" "false"
|
||||
|
||||
annotation class <caret>My(val x: Int)
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// "Create subclass" "false"
|
||||
// ACTION: Create test
|
||||
|
||||
enum class <caret>My {
|
||||
SINGLE {
|
||||
override fun foo(): Int = 0
|
||||
};
|
||||
|
||||
abstract fun foo(): Int
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Create subclass" "false"
|
||||
|
||||
class Base
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
companion object {
|
||||
open class <caret>Base
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
companion object {
|
||||
open class Base
|
||||
}
|
||||
}
|
||||
|
||||
class BaseImpl : Container.Companion.Base()
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
internal companion object {
|
||||
open class <caret>Base
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
internal companion object {
|
||||
open class Base
|
||||
}
|
||||
}
|
||||
|
||||
internal class BaseImpl : Container.Companion.Base()
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
private companion object {
|
||||
open class <caret>Base
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
private companion object {
|
||||
open class Base
|
||||
}
|
||||
|
||||
private class BaseImpl : Companion.Base()
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
protected companion object {
|
||||
open class <caret>Base
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
protected companion object {
|
||||
open class Base
|
||||
}
|
||||
|
||||
protected class BaseImpl : Companion.Base()
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// "Implement interface" "false"
|
||||
// ACTION: Convert function to property
|
||||
// ACTION: Convert member to extension
|
||||
|
||||
interface Base {
|
||||
fun <caret>foo(): Int
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// "Implement abstract class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
inner abstract class <caret>Base {
|
||||
abstract fun foo(): String
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// "Implement abstract class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
inner abstract class Base {
|
||||
abstract fun foo(): String
|
||||
}
|
||||
|
||||
inner class BaseImpl : Base() {
|
||||
override fun foo(): String {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
interface <caret>Base {
|
||||
fun foo(x: Int): Int
|
||||
|
||||
fun bar(y: String) = y
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
interface Base {
|
||||
fun foo(x: Int): Int
|
||||
|
||||
fun bar(y: String) = y
|
||||
}
|
||||
|
||||
class BaseImpl : Base {
|
||||
override fun foo(x: Int): Int {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// "Implement abstract class" "false"
|
||||
|
||||
fun foo() {
|
||||
abstract class <caret>My {
|
||||
abstract fun bar(): Int
|
||||
}
|
||||
}
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
interface <caret>Base {
|
||||
val x: Boolean
|
||||
|
||||
val y: Double
|
||||
get() = 3.14
|
||||
|
||||
fun foo(): String = ""
|
||||
|
||||
fun bar(z: Int): String
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
interface Base {
|
||||
val x: Boolean
|
||||
|
||||
val y: Double
|
||||
get() = 3.14
|
||||
|
||||
fun foo(): String = ""
|
||||
|
||||
fun bar(z: Int): String
|
||||
}
|
||||
}
|
||||
|
||||
class BaseImpl : Container.Base {
|
||||
override val x: Boolean
|
||||
get() = throw UnsupportedOperationException()
|
||||
|
||||
override fun bar(z: Int): String {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
private interface <caret>Base {
|
||||
var z: Double
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
private interface Base {
|
||||
var z: Double
|
||||
}
|
||||
|
||||
class BaseImpl : Base {
|
||||
override var z: Double
|
||||
get() = throw UnsupportedOperationException()
|
||||
set(value) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Implement abstract class" "false"
|
||||
|
||||
abstract class Base(val x: Int)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
private open class <caret>Base
|
||||
@@ -0,0 +1,5 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
private open class Base
|
||||
private class BaseImpl : Base()
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Implement abstract class" "false"
|
||||
|
||||
abstract class Base private constructor
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
private open class <caret>Base {
|
||||
open var x: String = ""
|
||||
|
||||
open fun foo(): String = ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
private open class Base {
|
||||
open var x: String = ""
|
||||
|
||||
open fun foo(): String = ""
|
||||
}
|
||||
|
||||
private class BaseImpl : Base()
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
private open class <caret>Base {
|
||||
open var x: String = ""
|
||||
|
||||
open fun foo(): String = ""
|
||||
}
|
||||
|
||||
private class BaseImpl : Base()
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
private open class Base {
|
||||
open var x: String = ""
|
||||
|
||||
open fun foo(): String = ""
|
||||
}
|
||||
|
||||
private class BaseImpl1 : Base()
|
||||
|
||||
private class BaseImpl : Base()
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
// "Implement abstract class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
protected abstract class <caret>Base
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// "Implement abstract class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
class Container {
|
||||
protected abstract class Base
|
||||
protected class BaseImpl : Base()
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Implement sealed class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
sealed class <caret>Base {
|
||||
abstract fun foo(): Int
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// "Implement sealed class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
sealed class Base {
|
||||
abstract fun foo(): Int
|
||||
class BaseImpl : Base() {
|
||||
override fun foo(): Int {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
// "Implement sealed class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
sealed class <caret>Sealed
|
||||
@@ -0,0 +1,6 @@
|
||||
// "Implement sealed class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
sealed class Sealed {
|
||||
class SealedImpl : Sealed()
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Implement sealed class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
sealed class <caret>Base {
|
||||
abstract fun foo(): Int
|
||||
|
||||
class BaseImpl : Base() {
|
||||
override fun foo() = throw UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// "Implement sealed class" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
sealed class Base {
|
||||
abstract fun foo(): Int
|
||||
|
||||
class BaseImpl : Base() {
|
||||
override fun foo() = throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
class BaseImpl1 : Base() {
|
||||
override fun foo(): Int {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
interface <caret>Base<T : Any>
|
||||
@@ -0,0 +1,5 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
interface Base<T : Any>
|
||||
class BaseImpl<T : Any> : Base<T>
|
||||
@@ -0,0 +1,4 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
interface <caret>Base<out T>
|
||||
@@ -0,0 +1,5 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
interface Base<out T>
|
||||
class BaseImpl<out T> : Base<T>
|
||||
@@ -0,0 +1,4 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
interface <caret>Base<T> where T : Any
|
||||
@@ -0,0 +1,5 @@
|
||||
// "Implement interface" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
interface Base<T> where T : Any
|
||||
class BaseImpl<T> : Base<T> where T : Any
|
||||
@@ -0,0 +1,4 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
open class <caret>Base<T : Any, L : List<T>>
|
||||
@@ -0,0 +1,5 @@
|
||||
// "Create subclass" "true"
|
||||
// SHOULD_BE_AVAILABLE_AFTER_EXECUTION
|
||||
|
||||
open class Base<T : Any, L : List<T>>
|
||||
class BaseImpl<T : Any, L : List<T>> : Base<T, L>()
|
||||
Reference in New Issue
Block a user