Add quick-fix "add .getOrThrow()" for SuccessOrFailure inspection
#KT-25621 Fixed
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
org.jetbrains.kotlin.idea.inspections.coroutines.ResultIsSuccessOrFailureInspection
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun test() {
|
||||
val x = <caret>fun() = SuccessOrFailure("123")
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun test() {
|
||||
val x = fun() = SuccessOrFailure("123").getOrThrow()
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun <caret>incorrectBlock(arg: Boolean, arg2: Boolean?): SuccessOrFailure<Int> {
|
||||
if (arg) {
|
||||
class Local {
|
||||
fun foo(): SuccessOrFailure<String> {
|
||||
return SuccessOrFailure("NO")
|
||||
}
|
||||
}
|
||||
return SuccessOrFailure(1)
|
||||
} else {
|
||||
when (arg2) {
|
||||
true -> {
|
||||
val x = fun(): SuccessOrFailure<Boolean> {
|
||||
return SuccessOrFailure(false)
|
||||
}
|
||||
if (x().getOrThrow()) {
|
||||
return SuccessOrFailure(2)
|
||||
} else {
|
||||
return SuccessOrFailure(0)
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
if (arg2 == false) {
|
||||
listOf(1, 2, 3).forEach {
|
||||
if (it == 2) return@forEach
|
||||
}
|
||||
return SuccessOrFailure(3)
|
||||
}
|
||||
return SuccessOrFailure(4)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun incorrectBlock(arg: Boolean, arg2: Boolean?): Int {
|
||||
if (arg) {
|
||||
class Local {
|
||||
fun foo(): SuccessOrFailure<String> {
|
||||
return SuccessOrFailure("NO")
|
||||
}
|
||||
}
|
||||
return SuccessOrFailure(1).getOrThrow()
|
||||
} else {
|
||||
when (arg2) {
|
||||
true -> {
|
||||
val x = fun(): SuccessOrFailure<Boolean> {
|
||||
return SuccessOrFailure(false)
|
||||
}
|
||||
if (x().getOrThrow()) {
|
||||
return SuccessOrFailure(2).getOrThrow()
|
||||
} else {
|
||||
return SuccessOrFailure(0).getOrThrow()
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
if (arg2 == false) {
|
||||
listOf(1, 2, 3).forEach {
|
||||
if (it == 2) return@forEach
|
||||
}
|
||||
return SuccessOrFailure(3).getOrThrow()
|
||||
}
|
||||
return SuccessOrFailure(4).getOrThrow()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun test() {
|
||||
val x = <caret>{ SuccessOrFailure(true) }
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun test() {
|
||||
val x = { SuccessOrFailure(true).getOrThrow() }
|
||||
}
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun test(arg: Boolean) {
|
||||
val x = foo@<caret>{
|
||||
if (!arg) {
|
||||
return@foo SuccessOrFailure(true)
|
||||
} else {
|
||||
SuccessOrFailure(false)
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun test(arg: Boolean) {
|
||||
val x = foo@{
|
||||
(if (!arg) {
|
||||
return@foo SuccessOrFailure(true).getOrThrow()
|
||||
} else {
|
||||
SuccessOrFailure(false)
|
||||
}).getOrThrow()
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun test() {
|
||||
val x = foo@<caret>{ return@foo SuccessOrFailure(true) }
|
||||
}
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun test() {
|
||||
val x = foo@<caret>{ return@foo SuccessOrFailure(true).getOrThrow() }
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
|
||||
operator fun plus(other: SuccessOrFailure<T>) = other
|
||||
}
|
||||
|
||||
fun <caret>incorrect() = SuccessOrFailure("123") + SuccessOrFailure("456")
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
|
||||
operator fun plus(other: SuccessOrFailure<T>) = other
|
||||
}
|
||||
|
||||
fun incorrect() = (SuccessOrFailure("123") + SuccessOrFailure("456")).getOrThrow()
|
||||
@@ -0,0 +1,7 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun <caret>incorrect() = SuccessOrFailure("123")
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun incorrect() = SuccessOrFailure("123").getOrThrow()
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun <caret>incorrectBlock(arg: Boolean, arg2: Boolean?): SuccessOrFailure<Int> {
|
||||
if (arg) {
|
||||
return SuccessOrFailure(1)
|
||||
} else {
|
||||
when (arg2) {
|
||||
true -> return SuccessOrFailure(2)
|
||||
else -> {
|
||||
if (arg2 == false) {
|
||||
return SuccessOrFailure(3)
|
||||
}
|
||||
return SuccessOrFailure(4)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package kotlin
|
||||
|
||||
class SuccessOrFailure<T>(val value: T?) {
|
||||
fun getOrThrow(): T = value ?: throw AssertionError("")
|
||||
}
|
||||
|
||||
fun incorrectBlock(arg: Boolean, arg2: Boolean?): Int {
|
||||
if (arg) {
|
||||
return SuccessOrFailure(1).getOrThrow()
|
||||
} else {
|
||||
when (arg2) {
|
||||
true -> return SuccessOrFailure(2).getOrThrow()
|
||||
else -> {
|
||||
if (arg2 == false) {
|
||||
return SuccessOrFailure(3).getOrThrow()
|
||||
}
|
||||
return SuccessOrFailure(4).getOrThrow()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user