KT-22665 "Create object" quick fix produce wrong code for enum (#2883)

* "Create object" quick fix: do not suggest for enum

#KT-22665 Fixed
This commit is contained in:
Toshiaki Kameyama
2020-09-28 21:02:10 +09:00
committed by GitHub
parent 076eacb3d1
commit 330502a0a6
7 changed files with 57 additions and 2 deletions
@@ -1,6 +1,5 @@
// "Create enum constant 'A'" "false"
// ACTION: Convert to block body
// ACTION: Create object 'A'
// ACTION: Rename reference
// ERROR: Unresolved reference: A
package p
@@ -0,0 +1,6 @@
// "Create object 'RED'" "true"
enum class SampleEnum {}
fun usage() {
SampleEnum.RED<caret>
}
@@ -0,0 +1,12 @@
// "Create object 'RED'" "true"
enum class SampleEnum {
;
object RED {
}
}
fun usage() {
SampleEnum.RED
}
@@ -0,0 +1,12 @@
// "Create object 'RED'" "false"
// ACTION: Add 'sample =' to argument
// ACTION: Create enum constant 'RED'
// ACTION: Rename reference
// ERROR: Unresolved reference: RED
enum class SampleEnum {}
fun usage() {
foo(SampleEnum.RED<caret>)
}
fun foo(sample: SampleEnum) {}
@@ -0,0 +1,11 @@
// "Create object 'RED'" "false"
// ACTION: Create enum constant 'RED'
// ACTION: Expand boolean expression to 'if else'
// ACTION: Rename reference
// ERROR: Unresolved reference: RED
enum class SampleEnum {}
fun usage(sample: SampleEnum) {
if (sample == SampleEnum.RED<caret>) {
}
}