Files
kotlin-fork/compiler/testData/ir/irText/classes/kt43217.kt
T
Dmitriy Dolovov 02604060ae IR text tests: Don't dump signatures for local declarations
1. Local declarations don't participate in IR-linkage, because they
can be referenced only inside the same body -> can be dropped
from IR text tests.

2. Mangled names for private declarations computed by descriptors/fir
are actually not used anywhere (they are recomputed by IR
immediately before serialization of IR). But sometimes such
mangled names diverge between K1 and K2 -> don't check them, but
always check mangled names computed by IR even for private
declarations.

3. Also: Drop DUMP_LOCAL_DECLARATION_SIGNATURES test directive.

^KT-57428 Obsolete
^KT-57430 Obsolete
^KT-57434 Obsolete
^KT-57778 Obsolete
^KT-57775 Obsolete
2023-11-30 08:32:35 +00:00

52 lines
1.1 KiB
Kotlin
Vendored

// TARGET_BACKEND: JVM
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57788: Fix computing mangled names of types with @EnhancedNullability from IR-based declaration descriptors
// FILE: kt43217.kt
class A {
private val b =
object : DoubleExpression() {
override fun get(): Double {
return 0.0
}
}
}
class C : DoubleExpression() {
override fun get() = 0.0
}
// FILE: DoubleExpression.java
import org.jetbrains.annotations.NotNull;
public abstract class DoubleExpression implements ObservableDouble {
@NotNull
@Override
public Object isEqualTo(double value) {
return null;
}
}
// FILE: ObservableValue.java
import org.jetbrains.annotations.NotNull;
public interface ObservableValue<T> {
@NotNull
T get();
@NotNull
default Object isEqualTo(@NotNull T value) {
return null;
}
}
// FILE: ObservableDouble.java
import org.jetbrains.annotations.NotNull;
public interface ObservableDouble extends ObservableValue<Double> {
@NotNull
Object isEqualTo(double value);
}