Support specifying different bytecode listings for FIR and old frontend
This commit is contained in:
committed by
teamcity
parent
8a89b2f29f
commit
70c2f2b86f
+13
@@ -0,0 +1,13 @@
|
|||||||
|
@kotlin.Metadata
|
||||||
|
public final class AC {
|
||||||
|
// source: 'AC.kt'
|
||||||
|
private final field number: int
|
||||||
|
public method <init>(): void
|
||||||
|
public final @org.jetbrains.annotations.NotNull method getNumber(): java.lang.Number
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public interface AI {
|
||||||
|
// source: 'AI.kt'
|
||||||
|
public abstract @org.jetbrains.annotations.NotNull method getNumber(): java.lang.Number
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
inline fun <T> useRef(value: T, f: (T) -> Boolean) = f(value)
|
inline fun <T> useRef(value: T, f: (T) -> Boolean) = f(value)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// WITH_COROUTINES
|
// WITH_COROUTINES
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
import helpers.*
|
import helpers.*
|
||||||
import kotlin.coroutines.*
|
import kotlin.coroutines.*
|
||||||
|
|||||||
+1
@@ -1,6 +1,7 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// WITH_COROUTINES
|
// WITH_COROUTINES
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
import helpers.*
|
import helpers.*
|
||||||
import kotlin.coroutines.*
|
import kotlin.coroutines.*
|
||||||
|
|||||||
+1
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
// `lambda` should not be wrapped in yet another object (so no OnInlineArgumentKt$box$1$1).
|
// `lambda` should not be wrapped in yet another object (so no OnInlineArgumentKt$box$1$1).
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
import helpers.*
|
import helpers.*
|
||||||
import kotlin.coroutines.*
|
import kotlin.coroutines.*
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// WITH_COROUTINES
|
// WITH_COROUTINES
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
import helpers.*
|
import helpers.*
|
||||||
import kotlin.coroutines.*
|
import kotlin.coroutines.*
|
||||||
import kotlin.coroutines.intrinsics.*
|
import kotlin.coroutines.intrinsics.*
|
||||||
|
|||||||
Vendored
+1
@@ -1,6 +1,7 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// WITH_COROUTINES
|
// WITH_COROUTINES
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// CHECK_NEW_COUNT: function=suspendHere count=0
|
// CHECK_NEW_COUNT: function=suspendHere count=0
|
||||||
// FIXME: Coroutine inlining
|
// FIXME: Coroutine inlining
|
||||||
// CHECK_NEW_COUNT: function=complexSuspend count=0 TARGET_BACKENDS=JS
|
// CHECK_NEW_COUNT: function=complexSuspend count=0 TARGET_BACKENDS=JS
|
||||||
|
|||||||
Vendored
+1
@@ -3,6 +3,7 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// WITH_COROUTINES
|
// WITH_COROUTINES
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
// In this test the following transformation are occuring:
|
// In this test the following transformation are occuring:
|
||||||
// flow$1 -> flowWith$$inlined$flow$1
|
// flow$1 -> flowWith$$inlined$flow$1
|
||||||
|
|||||||
+1
@@ -5,6 +5,7 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// WITH_COROUTINES
|
// WITH_COROUTINES
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
import helpers.*
|
import helpers.*
|
||||||
import kotlin.coroutines.*
|
import kotlin.coroutines.*
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
// FIR status: [IR VALIDATION] Duplicate IR node: FUN GENERATED_DATA_CLASS_MEMBER name:toString
|
// FIR status: [IR VALIDATION] Duplicate IR node: FUN GENERATED_DATA_CLASS_MEMBER name:toString
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
|
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// FULL_JDK
|
// FULL_JDK
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
import java.io.*
|
import java.io.*
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
operator fun Any?.getValue(thisRef: Any?, property: Any?) =
|
operator fun Any?.getValue(thisRef: Any?, property: Any?) =
|
||||||
if (this == 1 && thisRef == null) "OK" else "Failed"
|
if (this == 1 && thisRef == null) "OK" else "Failed"
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
operator fun Any?.getValue(thisRef: Any?, property: Any?) =
|
operator fun Any?.getValue(thisRef: Any?, property: Any?) =
|
||||||
if (this == a && thisRef == null) "OK" else "Failed"
|
if (this == a && thisRef == null) "OK" else "Failed"
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
operator fun Any?.getValue(thisRef: Any?, property: Any?) =
|
operator fun Any?.getValue(thisRef: Any?, property: Any?) =
|
||||||
if (this == null && thisRef == null) "OK" else "Failed"
|
if (this == null && thisRef == null) "OK" else "Failed"
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
class A {
|
class A {
|
||||||
val b = B()
|
val b = B()
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
|
|
||||||
class C {
|
class C {
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
object O {
|
object O {
|
||||||
val impl = 123
|
val impl = 123
|
||||||
|
|||||||
Vendored
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
val impl = 123
|
val impl = 123
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
//FILE file1.kt
|
//FILE file1.kt
|
||||||
val impl = 123
|
val impl = 123
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
import O.d
|
import O.d
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
enum class E { X }
|
enum class E { X }
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,5 +1,6 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
// MODULE: lib
|
// MODULE: lib
|
||||||
// FILE: file1.kt
|
// FILE: file1.kt
|
||||||
|
|||||||
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
enum class E {
|
enum class E {
|
||||||
OK, NOT_OK
|
OK, NOT_OK
|
||||||
|
|||||||
Vendored
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
enum class E {
|
enum class E {
|
||||||
OK, NOT_OK
|
OK, NOT_OK
|
||||||
|
|||||||
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// IGNORE_BACKEND: JS_IR
|
// IGNORE_BACKEND: JS_IR
|
||||||
|
|
||||||
import kotlin.reflect.KProperty
|
import kotlin.reflect.KProperty
|
||||||
|
|||||||
Vendored
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
object O {
|
object O {
|
||||||
object P
|
object P
|
||||||
|
|||||||
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
var initialized = false
|
var initialized = false
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
var initialized = false
|
var initialized = false
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
var initialized = false
|
var initialized = false
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
class O {
|
class O {
|
||||||
operator fun getValue(thisRef: Any?, property: Any?) =
|
operator fun getValue(thisRef: Any?, property: Any?) =
|
||||||
|
|||||||
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
class C {
|
class C {
|
||||||
operator fun getValue(thisRef: Any?, property: Any?) =
|
operator fun getValue(thisRef: Any?, property: Any?) =
|
||||||
|
|||||||
Vendored
+1
@@ -1,5 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
class C {
|
class C {
|
||||||
val s: String by this
|
val s: String by this
|
||||||
|
|||||||
+1
@@ -1,6 +1,7 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
|
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
|
||||||
|
|
||||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
||||||
|
|
||||||
inline class ICIntArray<T: Int>(val value: Array<T>)
|
inline class ICIntArray<T: Int>(val value: Array<T>)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
||||||
// IGNORE_BACKEND: JVM
|
// IGNORE_BACKEND: JVM
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
||||||
// IGNORE_BACKEND: JVM
|
// IGNORE_BACKEND: JVM
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
||||||
// IGNORE_BACKED: JVM
|
// IGNORE_BACKED: JVM
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
||||||
// IGNORE_BACKED: JVM
|
// IGNORE_BACKED: JVM
|
||||||
|
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
// LANGUAGE: -JvmInlineValueClasses, +GenericInlineClassParameter
|
||||||
|
|
||||||
inline class ICString<T: String>(val value: T)
|
inline class ICString<T: String>(val value: T)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
// LAMBDAS: INDY
|
// LAMBDAS: INDY
|
||||||
|
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_SIGNATURES
|
// WITH_SIGNATURES
|
||||||
|
|
||||||
// CHECK_BYTECODE_TEXT
|
// CHECK_BYTECODE_TEXT
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
// SAM_CONVERSIONS: INDY
|
// SAM_CONVERSIONS: INDY
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_SIGNATURES
|
// WITH_SIGNATURES
|
||||||
|
|
||||||
// CHECK_BYTECODE_TEXT
|
// CHECK_BYTECODE_TEXT
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// !JVM_DEFAULT_MODE: all-compatibility
|
// !JVM_DEFAULT_MODE: all-compatibility
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// !JVM_DEFAULT_MODE: all-compatibility
|
// !JVM_DEFAULT_MODE: all-compatibility
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// !JVM_DEFAULT_MODE: all-compatibility
|
// !JVM_DEFAULT_MODE: all-compatibility
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
// FIR status: questionable bytecode listing difference (open/final methods in final class)
|
// FIR status: questionable bytecode listing difference (open/final methods in final class)
|
||||||
// !JVM_DEFAULT_MODE: all-compatibility
|
// !JVM_DEFAULT_MODE: all-compatibility
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// !JVM_DEFAULT_MODE: all
|
// !JVM_DEFAULT_MODE: all
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// !JVM_DEFAULT_MODE: all
|
// !JVM_DEFAULT_MODE: all
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
|
|||||||
Vendored
+1
@@ -3,6 +3,7 @@
|
|||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
@JvmDefaultWithCompatibility
|
@JvmDefaultWithCompatibility
|
||||||
interface Test {
|
interface Test {
|
||||||
|
|||||||
Vendored
+1
@@ -3,6 +3,7 @@
|
|||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
@JvmDefaultWithCompatibility
|
@JvmDefaultWithCompatibility
|
||||||
interface Test {
|
interface Test {
|
||||||
|
|||||||
Vendored
+1
@@ -3,6 +3,7 @@
|
|||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
// FILE: KBase.kt
|
// FILE: KBase.kt
|
||||||
public interface KBase {
|
public interface KBase {
|
||||||
|
|||||||
Vendored
+1
@@ -3,6 +3,7 @@
|
|||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
annotation class MyAnn
|
annotation class MyAnn
|
||||||
|
|
||||||
|
|||||||
+1
@@ -3,6 +3,7 @@
|
|||||||
// IGNORE_BACKEND: JVM
|
// IGNORE_BACKEND: JVM
|
||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_COROUTINES
|
// WITH_COROUTINES
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
import helpers.*
|
import helpers.*
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// JVM_TARGET: 1.8
|
// JVM_TARGET: 1.8
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
|
|||||||
+1
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
// FIR status: NCDFE: Foo$DefaultImpls
|
// FIR status: NCDFE: Foo$DefaultImpls
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ fun test(foo: Foo): String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// - there should be no synthetic accessor generated in 'Foo'
|
// - there should be no synthetic accessor generated in 'Foo'
|
||||||
class Foo(val s: String)
|
class Foo(val s: String)
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
// LANGUAGE: +ValueClasses +ContextReceivers
|
// LANGUAGE: +ValueClasses +ContextReceivers
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
@JvmInline
|
@JvmInline
|
||||||
value class IC(val x: UInt)
|
value class IC(val x: UInt)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
// https://youtrack.jetbrains.com/issue/KT-52236/Different-modality-in-psi-and-fir
|
// https://youtrack.jetbrains.com/issue/KT-52236/Different-modality-in-psi-and-fir
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// IGNORE_BACKEND: ANDROID, ANDROID_IR
|
// IGNORE_BACKEND: ANDROID, ANDROID_IR
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
// LANGUAGE: +ValueClasses
|
// LANGUAGE: +ValueClasses
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||||
value class F1(val x: Int)
|
value class F1(val x: Int)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
// LANGUAGE: +ValueClasses
|
// LANGUAGE: +ValueClasses
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
@JvmInline
|
@JvmInline
|
||||||
value class DPoint(val x: Double, val y: Double)
|
value class DPoint(val x: Double, val y: Double)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
// LANGUAGE: +ValueClasses
|
// LANGUAGE: +ValueClasses
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
interface AbstractPoint<T> {
|
interface AbstractPoint<T> {
|
||||||
val x: T
|
val x: T
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
// LANGUAGE: +ValueClasses
|
// LANGUAGE: +ValueClasses
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
interface AbstractPoint<T> {
|
interface AbstractPoint<T> {
|
||||||
val x: T
|
val x: T
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
// LANGUAGE: +ValueClasses
|
// LANGUAGE: +ValueClasses
|
||||||
// LANGUAGE: +GenericInlineClassParameter
|
// LANGUAGE: +GenericInlineClassParameter
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
interface AbstractPoint<T> {
|
interface AbstractPoint<T> {
|
||||||
val x: T
|
val x: T
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
// LANGUAGE: +ValueClasses
|
// LANGUAGE: +ValueClasses
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
|
||||||
@JvmInline
|
@JvmInline
|
||||||
value class DPoint(val x: Double, val y: Double)
|
value class DPoint(val x: Double, val y: Double)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
+1
@@ -1,5 +1,6 @@
|
|||||||
// NO_CHECK_LAMBDA_INLINING
|
// NO_CHECK_LAMBDA_INLINING
|
||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
package test
|
package test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
package test
|
package test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
package test
|
package test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// CHECK_BYTECODE_LISTING
|
// CHECK_BYTECODE_LISTING
|
||||||
|
// FIR_IDENTICAL
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// WORKS_WHEN_VALUE_CLASS
|
// WORKS_WHEN_VALUE_CLASS
|
||||||
|
|||||||
+6
-2
@@ -10,8 +10,10 @@ import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
|||||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.CHECK_BYTECODE_LISTING
|
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.CHECK_BYTECODE_LISTING
|
||||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_ANNOTATIONS
|
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_ANNOTATIONS
|
||||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.WITH_SIGNATURES
|
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.WITH_SIGNATURES
|
||||||
|
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_IDENTICAL
|
||||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||||
import org.jetbrains.kotlin.test.model.BinaryArtifacts
|
import org.jetbrains.kotlin.test.model.BinaryArtifacts
|
||||||
|
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||||
import org.jetbrains.kotlin.test.model.TestModule
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
import org.jetbrains.kotlin.test.services.TestServices
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
import org.jetbrains.kotlin.test.services.defaultsProvider
|
import org.jetbrains.kotlin.test.services.defaultsProvider
|
||||||
@@ -42,10 +44,12 @@ class BytecodeListingHandler(testServices: TestServices) : JvmBinaryArtifactHand
|
|||||||
if (multiModuleInfoDumper.isEmpty()) return
|
if (multiModuleInfoDumper.isEmpty()) return
|
||||||
|
|
||||||
val sourceFile = testServices.moduleStructure.originalTestDataFiles.first()
|
val sourceFile = testServices.moduleStructure.originalTestDataFiles.first()
|
||||||
val defaultTxtFile = sourceFile.withExtension(".txt")
|
val extension =
|
||||||
|
if (testServices.defaultsProvider.defaultFrontend == FrontendKinds.FIR && FIR_IDENTICAL !in testServices.moduleStructure.allDirectives) ".fir.txt" else ".txt"
|
||||||
|
val defaultTxtFile = sourceFile.withExtension(extension)
|
||||||
val isIr = testServices.defaultsProvider.defaultTargetBackend?.isIR == true
|
val isIr = testServices.defaultsProvider.defaultTargetBackend?.isIR == true
|
||||||
val txtFile =
|
val txtFile =
|
||||||
if (isIr) sourceFile.withSuffixAndExtension("_ir", ".txt").takeIf(File::exists) ?: defaultTxtFile
|
if (isIr) sourceFile.withSuffixAndExtension("_ir", extension).takeIf(File::exists) ?: defaultTxtFile
|
||||||
else defaultTxtFile
|
else defaultTxtFile
|
||||||
|
|
||||||
assertions.assertEqualsToFile(txtFile, multiModuleInfoDumper.generateResultingDump())
|
assertions.assertEqualsToFile(txtFile, multiModuleInfoDumper.generateResultingDump())
|
||||||
|
|||||||
Reference in New Issue
Block a user