IR text tests: Stable blank lines between declarations in class

Rework rendering of kt-like dump and signatures dump in order to avoid
unstable blank line between declarations of the same level:
1. No blank line for the first declaration inside the member scope of
the class.
2. Always a single blank line between each two subsequent declarations
inside the member scope of the class.
This commit is contained in:
Dmitriy Dolovov
2023-11-23 23:00:58 +01:00
committed by Space Team
parent 4532f52898
commit 16d1e85932
231 changed files with 236 additions and 280 deletions
-5
View File
@@ -1,19 +1,15 @@
package com.example
interface Aa {
}
interface Ab<T : Ab<T>> : Aa {
}
interface Ba {
}
interface Bb<T : Bb<T>> : Ab<T>, Ba {
}
interface Ca {
@@ -29,5 +25,4 @@ interface Cb {
}
interface C : Cb, Ca {
}
-7
View File
@@ -4,35 +4,30 @@ package com.example
// Mangled name: com.example.Aa
// Public signature: com.example/Aa|null[0]
interface Aa {
}
// CHECK:
// Mangled name: com.example.Ab
// Public signature: com.example/Ab|null[0]
interface Ab<T : Ab<T>> : Aa {
}
// CHECK:
// Mangled name: com.example.Ba
// Public signature: com.example/Ba|null[0]
interface Ba {
}
// CHECK:
// Mangled name: com.example.Bb
// Public signature: com.example/Bb|null[0]
interface Bb<T : Bb<T>> : Ab<T>, Ba {
}
// CHECK:
// Mangled name: com.example.C
// Public signature: com.example/C|null[0]
interface C : Ca, Cb {
// CHECK:
// Mangled name: com.example.C{}b
// Public signature: com.example/C.b|772347207915745207[0]
@@ -54,7 +49,6 @@ interface C : Ca, Cb {
// Mangled name: com.example.Ca
// Public signature: com.example/Ca|null[0]
interface Ca {
// CHECK:
// Mangled name: com.example.Ca{}b
// Public signature: com.example/Ca.b|772347207915745207[0]
@@ -76,7 +70,6 @@ interface Ca {
// Mangled name: com.example.Cb
// Public signature: com.example/Cb|null[0]
interface Cb {
// CHECK:
// Mangled name: com.example.Cb{}b
// Public signature: com.example/Cb.b|772347207915745207[0]
@@ -55,7 +55,6 @@ abstract class AbstractClass {
// Mangled name: Interface
// Public signature: /Interface|null[0]
interface Interface {
// CHECK:
// Mangled name: Interface#abstractFun(){}
// Public signature: /Interface.abstractFun|-8137574360252002020[0]
@@ -91,6 +91,7 @@ class Test2 : Base {
// Public signature: /Test2.<init>|-7691762014320324121[0]
// Public signature debug description: <init>(kotlin.Int;kotlin.Int){}
constructor(xx: Int, yy: Int)
// CHECK:
// Mangled name: Test2#<init>(kotlin.Int;kotlin.Int;kotlin.Any){}
// Public signature: /Test2.<init>|-2775945437722696135[0]
@@ -80,7 +80,6 @@ class C {
// Mangled name: C.NestedInterface
// Public signature: /C.NestedInterface|null[0]
interface NestedInterface {
// CHECK:
// Mangled name: C.NestedInterface#bar(){}
// Public signature: /C.NestedInterface.bar|496682602797471549[0]
@@ -112,6 +111,7 @@ class C {
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor()
// CHECK:
// Mangled name: C#<init>(kotlin.Int;kotlin.Int;kotlin.Int){}
// Public signature: /C.<init>|3555954663887180339[0]
@@ -8,7 +8,6 @@ class TestClass {
}
interface TestInterface {
}
object TestObject {
-1
View File
@@ -8,7 +8,6 @@ class TestClass {
}
interface TestInterface {
}
object TestObject {
+1 -1
View File
@@ -31,6 +31,7 @@ enum class TestEnumClass : Enum<TestEnumClass> {
// Public signature: /TestEnumClass.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnumClass#valueOf#static(kotlin.String){}TestEnumClass
// Public signature: /TestEnumClass.valueOf|3258702714702284561[0]
@@ -142,7 +143,6 @@ enum class TestEnumClass : Enum<TestEnumClass> {
// Mangled name: TestInterface
// Public signature: /TestInterface|null[0]
interface TestInterface {
}
// CHECK:
-1
View File
@@ -8,7 +8,6 @@ class A : Cloneable {
}
interface I : Cloneable {
}
class C : I {
@@ -7,6 +7,7 @@ class A : Cloneable {
// Public signature: /A.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A#clone(){}kotlin.Any
// Public signature: /A.clone|-6903128697527593263[0]
@@ -27,6 +28,7 @@ class C : I {
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: C#clone(){}kotlin.Any
// Public signature: /C.clone|-6903128697527593263[0]
@@ -142,6 +142,7 @@ data class Test1 {
// Public signature: /Test1.<init>|-2901047261480922149[0]
// Public signature debug description: <init>(kotlin.Array<kotlin.String>;kotlin.CharArray;kotlin.BooleanArray;kotlin.ByteArray;kotlin.ShortArray;kotlin.IntArray;kotlin.LongArray;kotlin.FloatArray;kotlin.DoubleArray){}
constructor(stringArray: Array<String>, charArray: CharArray, booleanArray: BooleanArray, byteArray: ByteArray, shortArray: ShortArray, intArray: IntArray, longArray: LongArray, floatArray: FloatArray, doubleArray: DoubleArray) /* primary */
// CHECK JVM_IR:
// Mangled name: Test1#component1(){}kotlin.Array<kotlin.String>
// Public signature: /Test1.component1|2673462985803256369[0]
@@ -298,6 +299,7 @@ data class Test2<T : Any?> {
// Public signature: /Test2.<init>|-6569388914691766420[0]
// Public signature debug description: <init>(kotlin.Array<1:0>){}
constructor(genericArray: Array<T>) /* primary */
// CHECK JVM_IR:
// Mangled name: Test2#component1(){}kotlin.Array<1:0>
// Public signature: /Test2.component1|-8550302254215159930[0]
@@ -374,6 +376,7 @@ data class Test3 {
// Public signature: /Test3.<init>|2034455610636948474[0]
// Public signature debug description: <init>(kotlin.Array<kotlin.Any>?){}
constructor(anyArrayN: Array<Any>?) /* primary */
// CHECK JVM_IR:
// Mangled name: Test3#component1(){}kotlin.Array<kotlin.Any>?
// Public signature: /Test3.component1|3443609172722853741[0]
@@ -52,6 +52,7 @@ data class Test1 {
// Public signature: /Test1.<init>|3237794121889594884[0]
// Public signature debug description: <init>(kotlin.Int;kotlin.String;kotlin.Any){}
constructor(x: Int, y: String, z: Any) /* primary */
// CHECK JVM_IR:
// Mangled name: Test1#component1(){}kotlin.Int
// Public signature: /Test1.component1|-8217597213800111288[0]
@@ -148,6 +149,7 @@ data class Test2 {
// Public signature: /Test2.<init>|-8205545948568413246[0]
// Public signature debug description: <init>(kotlin.Any?){}
constructor(x: Any?) /* primary */
// CHECK JVM_IR:
// Mangled name: Test2#component1(){}kotlin.Any?
// Public signature: /Test2.component1|-9062417290864755441[0]
@@ -269,6 +271,7 @@ data class Test3 {
// Public signature: /Test3.<init>|8878758829470622568[0]
// Public signature debug description: <init>(kotlin.Double;kotlin.Double?;kotlin.Float;kotlin.Float?){}
constructor(d: Double, dn: Double?, f: Float, df: Float?) /* primary */
// CHECK JVM_IR:
// Mangled name: Test3#component1(){}kotlin.Double
// Public signature: /Test3.component1|2948120330742694173[0]
@@ -22,6 +22,7 @@ data class Test1<T : Any?> {
// Public signature: /Test1.<init>|-8731461708390519279[0]
// Public signature debug description: <init>(1:0){}
constructor(x: T) /* primary */
// CHECK JVM_IR:
// Mangled name: Test1#component1(){}1:0
// Public signature: /Test1.component1|2393470133763651536[0]
@@ -98,6 +99,7 @@ data class Test2<T : Number> {
// Public signature: /Test2.<init>|-8731461708390519279[0]
// Public signature debug description: <init>(1:0){}
constructor(x: T) /* primary */
// CHECK JVM_IR:
// Mangled name: Test2#component1(){}1:0
// Public signature: /Test2.component1|2393470133763651536[0]
@@ -174,6 +176,7 @@ data class Test3<T : Any?> {
// Public signature: /Test3.<init>|-6703374673612964420[0]
// Public signature debug description: <init>(kotlin.collections.List<1:0>){}
constructor(x: List<T>) /* primary */
// CHECK JVM_IR:
// Mangled name: Test3#component1(){}kotlin.collections.List<1:0>
// Public signature: /Test3.component1|-4141154284195946749[0]
@@ -250,6 +253,7 @@ data class Test4 {
// Public signature: /Test4.<init>|-9211757031347255021[0]
// Public signature debug description: <init>(kotlin.collections.List<kotlin.String>){}
constructor(x: List<String>) /* primary */
// CHECK JVM_IR:
// Mangled name: Test4#component1(){}kotlin.collections.List<kotlin.String>
// Public signature: /Test4.component1|-4918334505452908017[0]
@@ -7,6 +7,7 @@ data object DataObject {
// Public signature: /DataObject.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: DataObject#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /DataObject.equals|722809408929142791[0]
@@ -26,6 +26,7 @@ sealed class A : CharSequence {
// Public signature: /A.B.<init>|2804354480087813081[0]
// Public signature debug description: <init>(kotlin.CharSequence){}
constructor(c: CharSequence) /* primary */
// CHECK JVM_IR:
// Mangled name: A.B#get(kotlin.Int){}kotlin.Char
// Public signature: /A.B.get|6519934306502810002[0]
@@ -22,6 +22,7 @@ data class TestData {
// Public signature: /TestData.<init>|-7885966204384349687[0]
// Public signature debug description: <init>(kotlin.Nothing?){}
constructor(nn: Nothing?) /* primary */
// CHECK JVM_IR:
// Mangled name: TestData#component1(){}kotlin.Nothing?
// Public signature: /TestData.component1|137173073680766068[0]
@@ -98,6 +99,7 @@ value class TestInline {
// Public signature: /TestInline.<init>|-7885966204384349687[0]
// Public signature debug description: <init>(kotlin.Nothing?){}
constructor(nn: Nothing?) /* primary */
// CHECK JVM_IR:
// Mangled name: TestInline#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestInline.equals|722809408929142791[0]
@@ -22,6 +22,7 @@ data class A {
// Public signature: /A.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
constructor(x: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: A#component1(){}kotlin.Int
// Public signature: /A.component1|-8217597213800111288[0]
@@ -22,6 +22,7 @@ data class A {
// Public signature: /A.<init>|-2423641970729475329[0]
// Public signature debug description: <init>(kotlin.Function2<A,kotlin.String,kotlin.Unit>){}
constructor(runA: @ExtensionFunctionType Function2<A, String, Unit>) /* primary */
// CHECK JVM_IR:
// Mangled name: A#component1(){}kotlin.Function2<A,kotlin.String,kotlin.Unit>
// Public signature: /A.component1|793860828130635274[0]
@@ -98,6 +99,7 @@ data class B {
// Public signature: /B.<init>|4518179880532599055[0]
// Public signature debug description: <init>(kotlin.Any){}
constructor(x: Any) /* primary */
// CHECK JVM_IR:
// Mangled name: B#component1(){}kotlin.Any
// Public signature: /B.component1|2325042746135573536[0]
@@ -37,6 +37,7 @@ open data class ValidatedProperties {
// Public signature: /ValidatedProperties.<init>|9140439783797628932[0]
// Public signature debug description: <init>(kotlin.String;kotlin.String){}
constructor(test1: String, test2: String) /* primary */
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#component1(){}kotlin.String
// Public signature: /ValidatedProperties.component1|-7481405593404337796[0]
@@ -39,16 +39,19 @@ class A {
// Public signature: test/A.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: test.A#<init>(kotlin.Double){}
// Public signature: test/A.<init>|575075696928934302[0]
// Public signature debug description: <init>(kotlin.Double){}
constructor(x: Double)
// CHECK:
// Mangled name: test.A#<init>(kotlin.Int){}
// Public signature: test/A.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
constructor(x: Int)
// CHECK:
// Mangled name: test.A#<init>(kotlin.String){}
// Public signature: test/A.<init>|1280618353163213788[0]
@@ -7,6 +7,7 @@ class Test1 : IBase {
// Public signature: /Test1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Test1#bar(){}kotlin.Int
// Public signature: /Test1.bar|-6436649210114349217[0]
@@ -40,6 +41,7 @@ class Test2 : IBase, IOther {
// Public signature: /Test2.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Test2#bar(){}kotlin.Int
// Public signature: /Test2.bar|-6436649210114349217[0]
@@ -138,7 +140,6 @@ class Test2 : IBase, IOther {
// Mangled name: IBase
// Public signature: /IBase|null[0]
interface IBase {
// CHECK JVM_IR:
// Mangled name: IBase#bar(){}kotlin.Int
// Public signature: /IBase.bar|-6436649210114349217[0]
@@ -167,7 +168,6 @@ interface IBase {
// Mangled name: IOther
// Public signature: /IOther|null[0]
interface IOther {
// CHECK:
// Mangled name: IOther{}x
// Public signature: /IOther.x|-8060530855978347579[0]
@@ -7,6 +7,7 @@ class C : IFooBar {
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: C#foo(){}
// Public signature: /C.foo|-1041209573719867811[0]
@@ -25,7 +26,6 @@ class C : IFooBar {
// Mangled name: IFooBar
// Public signature: /IFooBar|null[0]
interface IFooBar {
// CHECK:
// Mangled name: IFooBar#bar(){}
// Public signature: /IFooBar.bar|496682602797471549[0]
@@ -19,11 +19,13 @@ class Test : Base {
// Public signature: /Test.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor()
// CHECK:
// Mangled name: Test#<init>(kotlin.Int){}
// Public signature: /Test.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
constructor(xx: Int)
// CHECK:
// Mangled name: Test#<init>(kotlin.Short){}
// Public signature: /Test.<init>|-8537285994488541433[0]
+9
View File
@@ -7,6 +7,7 @@ enum class TestEnum1 : Enum<TestEnum1> {
// Public signature: /TestEnum1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestEnum1.TEST1
// Public signature: /TestEnum1.TEST1|null[0]
@@ -148,6 +149,7 @@ enum class TestEnum2 : Enum<TestEnum2> {
// Public signature: /TestEnum2.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: TestEnum2.TEST1
// Public signature: /TestEnum2.TEST1|null[0]
@@ -279,6 +281,7 @@ abstract enum class TestEnum3 : Enum<TestEnum3> {
// Public signature: /TestEnum3.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestEnum3.TEST
// Public signature: /TestEnum3.TEST|null[0]
@@ -293,6 +296,7 @@ abstract enum class TestEnum3 : Enum<TestEnum3> {
// Public signature: /TestEnum3.TEST.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnum3.TEST#compareTo(TestEnum3){}kotlin.Int
// Public signature: /TestEnum3.TEST.<EEC>.compareTo|3758334100252612666[0]
@@ -508,6 +512,7 @@ abstract enum class TestEnum4 : Enum<TestEnum4> {
// Public signature: /TestEnum4.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: TestEnum4.TEST1
// Public signature: /TestEnum4.TEST1|null[0]
@@ -522,6 +527,7 @@ abstract enum class TestEnum4 : Enum<TestEnum4> {
// Public signature: /TestEnum4.TEST1.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnum4.TEST1#compareTo(TestEnum4){}kotlin.Int
// Public signature: /TestEnum4.TEST1.<EEC>.compareTo|-8388826051358644820[0]
@@ -644,6 +650,7 @@ abstract enum class TestEnum4 : Enum<TestEnum4> {
// Public signature: /TestEnum4.TEST2.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnum4.TEST2#compareTo(TestEnum4){}kotlin.Int
// Public signature: /TestEnum4.TEST2.<EEC>.compareTo|-8388826051358644820[0]
@@ -874,6 +881,7 @@ enum class TestEnum5 : Enum<TestEnum5> {
// Public signature: /TestEnum5.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: TestEnum5.TEST1
// Public signature: /TestEnum5.TEST1|null[0]
@@ -1035,6 +1043,7 @@ enum class TestEnum6 : Enum<TestEnum6> {
// Public signature: /TestEnum6.<init>|-7691762014320324121[0]
// Public signature debug description: <init>(kotlin.Int;kotlin.Int){}
private constructor(x: Int, y: Int) /* primary */
// CHECK:
// Mangled name: TestEnum6.TEST
// Public signature: /TestEnum6.TEST|null[0]
@@ -7,6 +7,7 @@ abstract enum class TestAbstractEnum1 : Enum<TestAbstractEnum1> {
// Public signature: /TestAbstractEnum1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestAbstractEnum1.X1
// Public signature: /TestAbstractEnum1.X1|null[0]
@@ -21,6 +22,7 @@ abstract enum class TestAbstractEnum1 : Enum<TestAbstractEnum1> {
// Public signature: /TestAbstractEnum1.X1.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestAbstractEnum1.X1#compareTo(TestAbstractEnum1){}kotlin.Int
// Public signature: /TestAbstractEnum1.X1.<EEC>.compareTo|4568850831400093628[0]
@@ -221,6 +223,7 @@ abstract enum class TestAbstractEnum2 : Enum<TestAbstractEnum2>, IFoo {
// Public signature: /TestAbstractEnum2.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestAbstractEnum2.X1
// Public signature: /TestAbstractEnum2.X1|null[0]
@@ -235,6 +238,7 @@ abstract enum class TestAbstractEnum2 : Enum<TestAbstractEnum2>, IFoo {
// Public signature: /TestAbstractEnum2.X1.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestAbstractEnum2.X1#compareTo(TestAbstractEnum2){}kotlin.Int
// Public signature: /TestAbstractEnum2.X1.<EEC>.compareTo|1400147308358154853[0]
@@ -435,6 +439,7 @@ enum class TestFinalEnum1 : Enum<TestFinalEnum1> {
// Public signature: /TestFinalEnum1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestFinalEnum1.X1
// Public signature: /TestFinalEnum1.X1|null[0]
@@ -571,6 +576,7 @@ enum class TestFinalEnum2 : Enum<TestFinalEnum2> {
// Public signature: /TestFinalEnum2.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: TestFinalEnum2.X1
// Public signature: /TestFinalEnum2.X1|null[0]
@@ -692,6 +698,7 @@ enum class TestFinalEnum3 : Enum<TestFinalEnum3> {
// Public signature: /TestFinalEnum3.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestFinalEnum3.X1
// Public signature: /TestFinalEnum3.X1|null[0]
@@ -819,6 +826,7 @@ open enum class TestOpenEnum1 : Enum<TestOpenEnum1> {
// Public signature: /TestOpenEnum1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestOpenEnum1.X1
// Public signature: /TestOpenEnum1.X1|null[0]
@@ -833,6 +841,7 @@ open enum class TestOpenEnum1 : Enum<TestOpenEnum1> {
// Public signature: /TestOpenEnum1.X1.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestOpenEnum1.X1#compareTo(TestOpenEnum1){}kotlin.Int
// Public signature: /TestOpenEnum1.X1.<EEC>.compareTo|5969408945777389066[0]
@@ -1021,6 +1030,7 @@ open enum class TestOpenEnum2 : Enum<TestOpenEnum2> {
// Public signature: /TestOpenEnum2.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestOpenEnum2.X1
// Public signature: /TestOpenEnum2.X1|null[0]
@@ -1035,6 +1045,7 @@ open enum class TestOpenEnum2 : Enum<TestOpenEnum2> {
// Public signature: /TestOpenEnum2.X1.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestOpenEnum2.X1#compareTo(TestOpenEnum2){}kotlin.Int
// Public signature: /TestOpenEnum2.X1.<EEC>.compareTo|-5309775767017986668[0]
@@ -1230,7 +1241,6 @@ open enum class TestOpenEnum2 : Enum<TestOpenEnum2> {
// Mangled name: IFoo
// Public signature: /IFoo|null[0]
interface IFoo {
// CHECK:
// Mangled name: IFoo#foo(){}
// Public signature: /IFoo.foo|-1041209573719867811[0]
@@ -58,8 +58,6 @@ FILE fqName:<root> fileName:/enumEntries.kt
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.MyEnum>
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.MyEnum>
annotations:
OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalStdlibApi modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass<kotlin.ExperimentalStdlibApi>])
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.enums.EnumEntries<<root>.MyEnum> declared in <root>'
CALL 'public final fun <get-entries> (): kotlin.enums.EnumEntries<<root>.MyEnum> declared in <root>.MyEnum' type=kotlin.enums.EnumEntries<<root>.MyEnum> origin=GET_PROPERTY
@@ -18,7 +18,6 @@ enum class MyEnum : Enum<MyEnum> {
}
@OptIn(markerClass = [ExperimentalStdlibApi::class])
fun box(): EnumEntries<MyEnum> {
return <get-entries>()
}
@@ -58,8 +58,6 @@ FILE fqName:<root> fileName:/enumEntries.kt
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.MyEnum>
annotations:
OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalStdlibApi modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass<kotlin.ExperimentalStdlibApi>])
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.enums.EnumEntries<<root>.MyEnum> declared in <root>'
CALL 'public final fun <get-entries> (): kotlin.enums.EnumEntries<<root>.MyEnum> declared in <root>.MyEnum' type=kotlin.enums.EnumEntries<<root>.MyEnum> origin=GET_PROPERTY
-3
View File
@@ -1,5 +1,3 @@
// !LANGUAGE: +EnumEntries
// TARGET_BACKEND: JVM_IR
// FULL_JDK
// WITH_STDLIB
@@ -7,5 +5,4 @@ enum class MyEnum {
Ok, Nope
}
@OptIn(ExperimentalStdlibApi::class)
fun box() = MyEnum.entries
@@ -18,7 +18,6 @@ enum class MyEnum : Enum<MyEnum> {
}
@OptIn(markerClass = [ExperimentalStdlibApi::class])
fun box(): EnumEntries<MyEnum> {
return <get-entries>()
}
+41 -1
View File
@@ -7,6 +7,7 @@ enum class MyEnum : Enum<MyEnum> {
// Public signature: /MyEnum.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: MyEnum.Nope
// Public signature: /MyEnum.Nope|null[0]
@@ -21,36 +22,60 @@ enum class MyEnum : Enum<MyEnum> {
// Mangled name: MyEnum#valueOf#static(kotlin.String){}MyEnum
// Public signature: /MyEnum.valueOf|4316550590519800984[0]
// Public signature debug description: valueOf#static(kotlin.String){}MyEnum
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#valueOf#static(kotlin.String){}
// Public signature: /MyEnum.valueOf|-4683474617854611729[0]
// Public signature debug description: valueOf#static(kotlin.String){}
fun valueOf(value: String): MyEnum
// CHECK JVM_IR:
// Mangled name: MyEnum#values#static(){}kotlin.Array<MyEnum>
// Public signature: /MyEnum.values|3097625172661156808[0]
// Public signature debug description: values#static(){}kotlin.Array<MyEnum>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#values#static(){}
// Public signature: /MyEnum.values|-8715569000920726747[0]
// Public signature debug description: values#static(){}
fun values(): Array<MyEnum>
// CHECK JVM_IR:
// Mangled name: MyEnum#compareTo(MyEnum){}kotlin.Int
// Public signature: /MyEnum.compareTo|2015858924903177055[0]
// Public signature debug description: compareTo(MyEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#compareTo(MyEnum){}
// Public signature: /MyEnum.compareTo|-1404018836780573573[0]
// Public signature debug description: compareTo(MyEnum){}
/* fake */ override operator fun compareTo(other: MyEnum): Int
// CHECK JVM_IR:
// Mangled name: MyEnum#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyEnum.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#equals(kotlin.Any?){}
// Public signature: /MyEnum.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: MyEnum#hashCode(){}kotlin.Int
// Public signature: /MyEnum.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#hashCode(){}
// Public signature: /MyEnum.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyEnum#toString(){}kotlin.String
// Public signature: /MyEnum.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#toString(){}
// Public signature: /MyEnum.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
@@ -62,6 +87,10 @@ enum class MyEnum : Enum<MyEnum> {
// Mangled name: MyEnum#<get-entries>#static(){}kotlin.enums.EnumEntries<MyEnum>
// Public signature: /MyEnum.entries.<get-entries>|-3922959509726908718[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<MyEnum>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-entries>#static(){}
// Public signature: /MyEnum.entries.<get-entries>|-6068527377476727729[0]
// Public signature debug description: <get-entries>#static(){}
get(): EnumEntries<MyEnum>
// CHECK:
@@ -73,6 +102,10 @@ enum class MyEnum : Enum<MyEnum> {
// Mangled name: MyEnum#<get-name>(){}kotlin.String
// Public signature: /MyEnum.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-name>(){}
// Public signature: /MyEnum.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
@@ -84,6 +117,10 @@ enum class MyEnum : Enum<MyEnum> {
// Mangled name: MyEnum#<get-ordinal>(){}kotlin.Int
// Public signature: /MyEnum.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-ordinal>(){}
// Public signature: /MyEnum.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
@@ -92,6 +129,9 @@ enum class MyEnum : Enum<MyEnum> {
// Mangled name: #box(){}kotlin.enums.EnumEntries<MyEnum>
// Public signature: /box|700999420470824741[0]
// Public signature debug description: box(){}kotlin.enums.EnumEntries<MyEnum>
@OptIn(markerClass = [ExperimentalStdlibApi::class])
// CHECK JS_IR NATIVE:
// Mangled name: #box(){}
// Public signature: /box|2173511048851971368[0]
// Public signature debug description: box(){}
fun box(): EnumEntries<MyEnum>
@@ -57,16 +57,19 @@ open enum class A : Enum<A> {
// Public signature: /A.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor()
// CHECK:
// Mangled name: A#<init>(kotlin.String){}
// Public signature: /A.<init>|1280618353163213788[0]
// Public signature debug description: <init>(kotlin.String){}
private constructor(arg: String)
// CHECK:
// Mangled name: A#<init>(kotlin.Int){}
// Public signature: /A.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
private constructor(x: Int)
// CHECK:
// Mangled name: A.X
// Public signature: /A.X|null[0]
@@ -86,6 +89,7 @@ open enum class A : Enum<A> {
// Public signature: /A.Y.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A.Y#compareTo(A){}kotlin.Int
// Public signature: /A.Y.<EEC>.compareTo|-315052537630360750[0]
@@ -22,11 +22,13 @@ enum class Test0 : Enum<Test0> {
// Public signature: /Test0.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor()
// CHECK:
// Mangled name: Test0#<init>(kotlin.Int){}
// Public signature: /Test0.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: Test0.ZERO
// Public signature: /Test0.ZERO|null[0]
@@ -163,11 +165,13 @@ enum class Test1 : Enum<Test1> {
// Public signature: /Test1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor()
// CHECK:
// Mangled name: Test1#<init>(kotlin.Int){}
// Public signature: /Test1.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: Test1.ONE
// Public signature: /Test1.ONE|null[0]
@@ -309,11 +313,13 @@ abstract enum class Test2 : Enum<Test2> {
// Public signature: /Test2.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor()
// CHECK:
// Mangled name: Test2#<init>(kotlin.Int){}
// Public signature: /Test2.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: Test2.ONE
// Public signature: /Test2.ONE|null[0]
@@ -328,6 +334,7 @@ abstract enum class Test2 : Enum<Test2> {
// Public signature: /Test2.ONE.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Test2.ONE#compareTo(Test2){}kotlin.Int
// Public signature: /Test2.ONE.<EEC>.compareTo|-4058923296557042542[0]
@@ -435,6 +442,7 @@ abstract enum class Test2 : Enum<Test2> {
// Public signature: /Test2.ZERO.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#compareTo(Test2){}kotlin.Int
// Public signature: /Test2.ZERO.<EEC>.compareTo|-4058923296557042542[0]
@@ -79,6 +79,7 @@ class TestJFoo : IFoo {
// Public signature: /TestJFoo.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestJFoo#foo(){}kotlin.String
// Public signature: /TestJFoo.foo|485335955883620819[0]
@@ -96,6 +97,7 @@ class TestK1 : IFoo {
// Public signature: /TestK1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestK1#foo(){}kotlin.String
// Public signature: /TestK1.foo|485335955883620819[0]
@@ -113,6 +115,7 @@ class TestK2 : IFoo {
// Public signature: /TestK2.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestK2#foo(){}kotlin.String
// Public signature: /TestK2.foo|485335955883620819[0]
@@ -130,6 +133,7 @@ class TestK3 : IFoo {
// Public signature: /TestK3.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestK3#foo(){}kotlin.String
// Public signature: /TestK3.foo|485335955883620819[0]
@@ -147,6 +151,7 @@ class TestK4 : IFoo {
// Public signature: /TestK4.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestK4#foo(){}kotlin.String
// Public signature: /TestK4.foo|485335955883620819[0]
@@ -159,7 +164,6 @@ class TestK4 : IFoo {
// Mangled name: IFoo
// Public signature: /IFoo|null[0]
interface IFoo {
// CHECK JVM_IR:
// Mangled name: IFoo#foo(){}kotlin.String
// Public signature: /IFoo.foo|485335955883620819[0]
@@ -22,6 +22,7 @@ value class Test {
// Public signature: /Test.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
constructor(x: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: Test#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test.equals|722809408929142791[0]
@@ -59,6 +59,7 @@ value class IC<TT : Any?> {
// Public signature: /IC.<init>|-2549303465575104617[0]
// Public signature debug description: <init>(C<1:0>){}
constructor(c: C<TT>) /* primary */
// CHECK JVM_IR:
// Mangled name: IC#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /IC.equals|722809408929142791[0]
@@ -26,6 +26,7 @@ class Outer {
// Public signature: /Outer.Inner.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor()
// CHECK:
// Mangled name: Outer.Inner#<init>(kotlin.Int){}
// Public signature: /Outer.Inner.<init>|-5182794243525578284[0]
@@ -72,7 +72,6 @@ class Outer {
// Mangled name: IFoo
// Public signature: /IFoo|null[0]
interface IFoo {
// CHECK:
// Mangled name: IFoo#foo(){}
// Public signature: /IFoo.foo|-1041209573719867811[0]
@@ -73,6 +73,7 @@ class TestWithDelegatingConstructor : Base {
// Public signature: /TestWithDelegatingConstructor.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
constructor(x: Int)
// CHECK:
// Mangled name: TestWithDelegatingConstructor#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /TestWithDelegatingConstructor.<init>|-7691762014320324121[0]
@@ -7,6 +7,7 @@ open class C1 : I {
// Public signature: /C1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: C1#bazString(){}kotlin.String
// Public signature: /C1.bazString|4745561783571976677[0]
@@ -66,6 +67,7 @@ class C2 : C1 {
// Public signature: /C2.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: C2#barString(){}kotlin.String
// Public signature: /C2.barString|1448966844562545716[0]
@@ -120,7 +122,6 @@ class C2 : C1 {
// Mangled name: I
// Public signature: [ File '/privateInterface.kt' <- /I|null[0] ]
private interface I {
// CHECK JVM_IR:
// Mangled name: I#barString(){}kotlin.String
// Public signature: [ File '/privateInterface.kt' <- /I.barString|1448966844562545716[0] ]
@@ -35,7 +35,6 @@ class CBoth : ILeft, IRight {
// Mangled name: ILeft
// Public signature: /ILeft|null[0]
interface ILeft {
// CHECK:
// Mangled name: ILeft#foo(){}
// Public signature: /ILeft.foo|-1041209573719867811[0]
@@ -63,7 +62,6 @@ interface ILeft {
// Mangled name: IRight
// Public signature: /IRight|null[0]
interface IRight {
// CHECK:
// Mangled name: IRight#foo(){}
// Public signature: /IRight.foo|-1041209573719867811[0]
@@ -34,11 +34,13 @@ class TestInitBlock : Base {
// Public signature: /TestInitBlock.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor()
// CHECK:
// Mangled name: TestInitBlock#<init>(kotlin.Int){}
// Public signature: /TestInitBlock.<init>|-5182794243525578284[0]
// Public signature debug description: <init>(kotlin.Int){}
constructor(y: Int)
// CHECK:
// Mangled name: TestInitBlock#<init>(kotlin.Any){}
// Public signature: /TestInitBlock.<init>|4518179880532599055[0]
@@ -7,6 +7,7 @@ class C {
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor()
// CHECK:
// Mangled name: C#<init>(kotlin.Int){}
// Public signature: /C.<init>|-5182794243525578284[0]
@@ -68,7 +68,6 @@ class Derived : Base, BaseI {
// Mangled name: BaseI
// Public signature: /BaseI|null[0]
interface BaseI {
// CHECK:
// Mangled name: BaseI#foo(){}
// Public signature: /BaseI.foo|-1041209573719867811[0]