FIR IDE: register quickfix for the following

1. NON_ABSTRACT_FUNCTION_WITH_NO_BODY
  2. ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS
  3. ABSTRACT_FUNCTION_IN_NON_ABSTRACT_CLASS
This commit is contained in:
Tianyu Geng
2021-02-10 17:26:43 -08:00
committed by Ilya Kirillov
parent 88c43e7f7b
commit 56854a8b1a
33 changed files with 251 additions and 28 deletions
@@ -1,4 +1,5 @@
// "Make 'foo' not abstract" "true"
class A() {
<caret>abstract fun foo() {}
}
}
/* FIR_COMPARISON */
@@ -1,4 +1,5 @@
// "Make 'foo' not abstract" "true"
class A() {
fun foo() {}
}
}
/* FIR_COMPARISON */
@@ -7,4 +7,5 @@ class Owner {
companion object {
<caret>abstract val x: Int
}
}
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
class A() {
<caret>abstract var i : Int
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
abstract class A() {
<caret>abstract var i : Int
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
class A() {
<caret>abstract var i : Int = 0
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
class A() {
var i : Int = 0
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
public class A() {
<caret>abstract var i : Int
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
public abstract class A() {
<caret>abstract var i : Int
}
/* FIR_COMPARISON */
@@ -2,4 +2,5 @@
class B {
<caret>abstract val i: Int = 0
get() = field
}
}
/* FIR_COMPARISON */
@@ -2,4 +2,5 @@
class B {
val i: Int = 0
get() = field
}
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
class A {
<caret>abstract var i = 0
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
class A {
<caret>var i = 0
}
/* FIR_COMPARISON */
@@ -3,3 +3,4 @@ class B {
abstract<caret> var j: Int = 0
set(v: Int) {}
}
/* FIR_COMPARISON */
@@ -3,3 +3,4 @@ class B {
var j: Int = 0
set(v: Int) {}
}
/* FIR_COMPARISON */
+2 -1
View File
@@ -6,4 +6,5 @@ enum class E {
<caret>A;
abstract fun foo()
}
}
/* FIR_COMPARISON */
+2 -1
View File
@@ -9,4 +9,5 @@ interface I {
fun foo(): String
}
inline class A<caret> : I
inline class A<caret> : I
/* FIR_COMPARISON */
@@ -7,4 +7,5 @@
object O {
<caret>fun foo()
}
}
/* FIR_COMPARISON */
+2 -1
View File
@@ -5,4 +5,5 @@
// ACTION: Make private
// ERROR: Function 'foo' must have a body
<caret>fun foo()
<caret>fun foo()
/* FIR_COMPARISON */
+2 -1
View File
@@ -18,4 +18,5 @@ object Impl : D, E {
override fun foo() {}
}
<caret>class X : D by Impl, E by Impl {}
<caret>class X : D by Impl, E by Impl {}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
sealed class A() {
fun <caret>i() : Int
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
sealed class A() {
abstract fun <caret>i() : Int
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
class A() {
fun <caret>foo()
}
/* FIR_COMPARISON */
@@ -2,3 +2,4 @@
class A() {
fun <caret>foo() {}
}
/* FIR_COMPARISON */
+1
View File
@@ -2,3 +2,4 @@
abstract class B() {
open fun <caret>foo()
}
/* FIR_COMPARISON */
+1
View File
@@ -2,3 +2,4 @@
abstract class B() {
abstract fun <caret>foo()
}
/* FIR_COMPARISON */