More accurate deparenthesize (keeping annotations) in some IDE actions
So #KT-19004 Fixed
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
// WITH_RUNTIME
|
||||
fun foo(a: Any) {
|
||||
<caret>if (a == "") {
|
||||
println(a)
|
||||
}
|
||||
else if (a is String) {
|
||||
println(a)
|
||||
}
|
||||
else if (a is List<*>) {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
println(a as List<String>)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// WITH_RUNTIME
|
||||
fun foo(a: Any) {
|
||||
when (a) {
|
||||
"" -> println(a)
|
||||
is String -> println(a)
|
||||
is List<*> -> @Suppress("UNCHECKED_CAST")
|
||||
println(a as List<String>)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
@Target(AnnotationTarget.EXPRESSION)
|
||||
annotation class Ann
|
||||
|
||||
fun foo(arg: String?) {
|
||||
(@Ann arg)<caret>!!
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
@Target(AnnotationTarget.EXPRESSION)
|
||||
annotation class Ann
|
||||
|
||||
fun foo(arg: String?) {
|
||||
if (@Ann arg == null) throw NullPointerException("Expression '@Ann arg' must not be null")
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
var b = true
|
||||
|
||||
@Target(AnnotationTarget.EXPRESSION)
|
||||
annotation class Ann
|
||||
|
||||
fun println(s: String) {}
|
||||
|
||||
fun foo() {
|
||||
<caret>if (@Ann b) {
|
||||
println("!")
|
||||
}
|
||||
else {
|
||||
println("")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
var b = true
|
||||
|
||||
@Target(AnnotationTarget.EXPRESSION)
|
||||
annotation class Ann
|
||||
|
||||
fun println(s: String) {}
|
||||
|
||||
fun foo() {
|
||||
when {
|
||||
@Ann b -> println("!")
|
||||
else -> println("")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
var b = true
|
||||
|
||||
@Target(AnnotationTarget.EXPRESSION)
|
||||
annotation class Ann
|
||||
|
||||
fun foo() {
|
||||
if (@Ann <caret>b == true) {
|
||||
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
var b = true
|
||||
|
||||
@Target(AnnotationTarget.EXPRESSION)
|
||||
annotation class Ann
|
||||
|
||||
fun foo() {
|
||||
if (@Ann <caret>b) {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user