Split up Result API boxing tests
This commit is contained in:
committed by
Alexander Udalov
parent
2e53e36fd5
commit
49efa5fbc4
Vendored
+12
@@ -0,0 +1,12 @@
|
|||||||
|
// !API_VERSION: 1.3
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// FILE: test.kt
|
||||||
|
fun test() {
|
||||||
|
val result = Result.success("yes!")
|
||||||
|
val other = Result.success("nope")
|
||||||
|
if (result == other) println("==")
|
||||||
|
if (result != other) println("!=")
|
||||||
|
}
|
||||||
|
|
||||||
|
// @TestKt.class:
|
||||||
|
// 0 INVOKESTATIC kotlin/Result.equals-impl0
|
||||||
+1
-16
@@ -1,6 +1,4 @@
|
|||||||
// IGNORE_BACKEND: JVM
|
// WITH_RUNTIME
|
||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// WITH_COROUTINES
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
fun test() {
|
fun test() {
|
||||||
val result = Result.success("yes!")
|
val result = Result.success("yes!")
|
||||||
@@ -12,21 +10,8 @@ fun test() {
|
|||||||
println(failure.getOrNull())
|
println(failure.getOrNull())
|
||||||
println(failure.exceptionOrNull())
|
println(failure.exceptionOrNull())
|
||||||
|
|
||||||
val other = Result.success("nope")
|
|
||||||
if (result == other) println("==")
|
|
||||||
if (result != other) println("!=")
|
|
||||||
if (result.equals(other)) println("equals") // Boxes (JVM, JVM_IR)
|
|
||||||
if (!result.equals(other)) println("!equals") // Boxes (JVM, JVM_IR)
|
|
||||||
|
|
||||||
println(result.hashCode())
|
println(result.hashCode())
|
||||||
println(result.toString())
|
println(result.toString())
|
||||||
println("$result") // Boxes (JVM_IR)
|
|
||||||
|
|
||||||
val ans1 = runCatching { 42 }
|
|
||||||
println(ans1) // Boxes (JVM, JVM_IR)
|
|
||||||
|
|
||||||
val ans2 = 42.runCatching { this }
|
|
||||||
println(ans2) // Boxes (JVM, JVM_IR)
|
|
||||||
|
|
||||||
println(result.getOrElse { "oops" })
|
println(result.getOrElse { "oops" })
|
||||||
println(result.getOrDefault("oops"))
|
println(result.getOrDefault("oops"))
|
||||||
|
|||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
// !API_VERSION: LATEST
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// FILE: test.kt
|
||||||
|
fun test() {
|
||||||
|
val result = Result.success("yes!")
|
||||||
|
val other = Result.success("nope")
|
||||||
|
if (result == other) println("==")
|
||||||
|
if (result != other) println("!=")
|
||||||
|
}
|
||||||
|
|
||||||
|
// @TestKt.class:
|
||||||
|
// 0 INVOKESTATIC kotlin/Result.box-impl
|
||||||
|
// 0 INVOKEVIRTUAL kotlin/Result.unbox-impl
|
||||||
|
// 2 INVOKESTATIC kotlin/Result.equals-impl0
|
||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
// IGNORE_BACKEND: JVM
|
||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// FILE: test.kt
|
||||||
|
fun test() {
|
||||||
|
val ans1 = runCatching { 42 }
|
||||||
|
println(ans1)
|
||||||
|
|
||||||
|
val ans2 = 42.runCatching { this }
|
||||||
|
println(ans2)
|
||||||
|
}
|
||||||
|
|
||||||
|
// @TestKt.class:
|
||||||
|
// 0 INVOKESTATIC kotlin/Result.box-impl
|
||||||
|
// 0 INVOKEVIRTUAL kotlin/Result.unbox-impl
|
||||||
|
// 0 Result\$Failure
|
||||||
Vendored
+11
@@ -0,0 +1,11 @@
|
|||||||
|
// IGNORE_BACKEND: JVM_IR
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// FILE: test.kt
|
||||||
|
fun test() {
|
||||||
|
val result = Result.success("yes!")
|
||||||
|
println("$result")
|
||||||
|
}
|
||||||
|
|
||||||
|
// @TestKt.class:
|
||||||
|
// 0 INVOKESTATIC kotlin/Result.box-impl
|
||||||
|
// 0 INVOKEVIRTUAL kotlin/Result.unbox-impl
|
||||||
@@ -2603,11 +2603,31 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
|
|||||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/propertySetterWithInlineClassTypeArgument.kt");
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/propertySetterWithInlineClassTypeArgument.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("resultApiDoesntCallSpecializedEquals.kt")
|
||||||
|
public void testResultApiDoesntCallSpecializedEquals() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiDoesntCallSpecializedEquals.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("resultApiDoesntUseBox.kt")
|
@TestMetadata("resultApiDoesntUseBox.kt")
|
||||||
public void testResultApiDoesntUseBox() throws Exception {
|
public void testResultApiDoesntUseBox() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiDoesntUseBox.kt");
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiDoesntUseBox.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("resultApiEqualsDoesntBox.kt")
|
||||||
|
public void testResultApiEqualsDoesntBox() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiEqualsDoesntBox.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("resultApiRunCatchingDoesntBox.kt")
|
||||||
|
public void testResultApiRunCatchingDoesntBox() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiRunCatchingDoesntBox.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("resultApiStringInterpolationDoesntBox.kt")
|
||||||
|
public void testResultApiStringInterpolationDoesntBox() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiStringInterpolationDoesntBox.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("resultMangling.kt")
|
@TestMetadata("resultMangling.kt")
|
||||||
public void testResultMangling() throws Exception {
|
public void testResultMangling() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultMangling.kt");
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultMangling.kt");
|
||||||
|
|||||||
+20
@@ -2573,11 +2573,31 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest {
|
|||||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/propertySetterWithInlineClassTypeArgument.kt");
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/propertySetterWithInlineClassTypeArgument.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("resultApiDoesntCallSpecializedEquals.kt")
|
||||||
|
public void testResultApiDoesntCallSpecializedEquals() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiDoesntCallSpecializedEquals.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("resultApiDoesntUseBox.kt")
|
@TestMetadata("resultApiDoesntUseBox.kt")
|
||||||
public void testResultApiDoesntUseBox() throws Exception {
|
public void testResultApiDoesntUseBox() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiDoesntUseBox.kt");
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiDoesntUseBox.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("resultApiEqualsDoesntBox.kt")
|
||||||
|
public void testResultApiEqualsDoesntBox() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiEqualsDoesntBox.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("resultApiRunCatchingDoesntBox.kt")
|
||||||
|
public void testResultApiRunCatchingDoesntBox() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiRunCatchingDoesntBox.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("resultApiStringInterpolationDoesntBox.kt")
|
||||||
|
public void testResultApiStringInterpolationDoesntBox() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiStringInterpolationDoesntBox.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("resultMangling.kt")
|
@TestMetadata("resultMangling.kt")
|
||||||
public void testResultMangling() throws Exception {
|
public void testResultMangling() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultMangling.kt");
|
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultMangling.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user