[K/N, K/JS, K/WASM] Enable FakeOverrideRebuilder by default
While not beeing final solution, this is closer to what we want to have in the end. Enabling on non-JVM targets would help better testing. Enabling in JVM is now not possible yet, as some of the bugs are not fixed yet (check KT-61360 for details) ^KT-62476
This commit is contained in:
committed by
Space Team
parent
c6e32571d6
commit
f45d92eebc
@@ -251,8 +251,7 @@ fun transformFirToIr(
|
||||
inlineConstTracker = null,
|
||||
expectActualTracker = moduleStructure.compilerConfiguration[CommonConfigurationKeys.EXPECT_ACTUAL_TRACKER],
|
||||
allowNonCachedDeclarations = false,
|
||||
useIrFakeOverrideBuilder =
|
||||
moduleStructure.compilerConfiguration.getBoolean(CommonConfigurationKeys.USE_IR_FAKE_OVERRIDE_BUILDER),
|
||||
useIrFakeOverrideBuilder = true
|
||||
),
|
||||
IrGenerationExtension.getInstances(moduleStructure.project),
|
||||
signatureComposer = DescriptorSignatureComposerStub(JsManglerDesc),
|
||||
|
||||
+6
@@ -280,6 +280,12 @@ public class FirLightTreeJvmIrTextTestGenerated extends AbstractFirLightTreeJvmI
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java
Generated
+6
@@ -280,6 +280,12 @@ public class FirPsiJvmIrTextTestGenerated extends AbstractFirPsiJvmIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
+6
-3
@@ -84,7 +84,8 @@ FILE fqName:<root> fileName:/delegationInSealed.kt
|
||||
c: GET_VAR 'c: kotlin.CharSequence declared in <root>.A.B.copy' type=kotlin.CharSequence origin=null
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:<root>.A.B) returnType:kotlin.String
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
public open fun toString (): kotlin.String declared in <root>.A
|
||||
public open fun toString (): kotlin.String declared in kotlin.CharSequence
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.A.B
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in <root>.A.B'
|
||||
@@ -96,7 +97,8 @@ FILE fqName:<root> fileName:/delegationInSealed.kt
|
||||
CONST String type=kotlin.String value=")"
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:<root>.A.B) returnType:kotlin.Int
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.A
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.CharSequence
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.A.B
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in <root>.A.B'
|
||||
@@ -105,7 +107,8 @@ FILE fqName:<root> fileName:/delegationInSealed.kt
|
||||
receiver: GET_VAR '<this>: <root>.A.B declared in <root>.A.B.hashCode' type=<root>.A.B origin=null
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:<root>.A.B, other:kotlin.Any?) returnType:kotlin.Boolean [operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.A
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.CharSequence
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.A.B
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
// SKIP_KLIB_TEST
|
||||
// IGNORE_BACKEND_K1: JS_IR
|
||||
|
||||
// KT-64271
|
||||
// IGNORE_BACKEND_K2: JVM_IR
|
||||
|
||||
|
||||
sealed class A : CharSequence {
|
||||
data class B(val c: CharSequence) : A(), CharSequence by c
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// KT-64271, KT-64382
|
||||
// IGNORE_BACKEND_K2: NATIVE, WASM, JS_IR, JS_IR_ES6
|
||||
|
||||
enum class TestFinalEnum1 {
|
||||
X1
|
||||
}
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
FILE fqName:<root> fileName:/overriddenEquals.kt
|
||||
CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Base [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||
FUN name:equals visibility:public modality:OPEN <> ($this:<root>.Base, other:kotlin.Any?) returnType:kotlin.Boolean [operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Base
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Base'
|
||||
CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ
|
||||
arg0: GET_VAR '<this>: <root>.Base declared in <root>.Base.equals' type=<root>.Base origin=null
|
||||
arg1: GET_VAR 'other: kotlin.Any? declared in <root>.Base.equals' type=kotlin.Any? origin=null
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.I
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Child1 modality:FINAL visibility:public superTypes:[<root>.Base; <root>.I]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Child1
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Child1 [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Base'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Child1 modality:FINAL visibility:public superTypes:[<root>.Base; <root>.I]'
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:<root>.Base, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.I
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Base
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.Base
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.I
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in <root>.Base
|
||||
public open fun toString (): kotlin.String declared in <root>.I
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Child2 modality:FINAL visibility:public superTypes:[<root>.I; <root>.Base]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Child2
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Child2 [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Base'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Child2 modality:FINAL visibility:public superTypes:[<root>.I; <root>.Base]'
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.I
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.I
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in <root>.I
|
||||
public open fun toString (): kotlin.String declared in <root>.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
@@ -0,0 +1,16 @@
|
||||
// FIR_IDENTICAL
|
||||
// KT-64271
|
||||
// IGNORE_BACKEND_K2: JVM_IR
|
||||
|
||||
open class Base {
|
||||
override fun equals(other: Any?): Boolean {
|
||||
return this === other
|
||||
}
|
||||
}
|
||||
|
||||
interface I {
|
||||
|
||||
}
|
||||
|
||||
class Child1 : Base(), I
|
||||
class Child2 : I, Base()
|
||||
@@ -0,0 +1,33 @@
|
||||
open class Base {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override operator fun equals(other: Any?): Boolean {
|
||||
return EQEQEQ(arg0 = <this>, arg1 = other)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface I {
|
||||
}
|
||||
|
||||
class Child1 : Base, I {
|
||||
constructor() /* primary */ {
|
||||
super/*Base*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Child2 : I, Base {
|
||||
constructor() /* primary */ {
|
||||
super/*Base*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
// CHECK:
|
||||
// Mangled name: Base
|
||||
// Public signature: /Base|null[0]
|
||||
open class Base {
|
||||
// CHECK:
|
||||
// Mangled name: Base#<init>(){}
|
||||
// Public signature: /Base.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: Base#equals(kotlin.Any?){}kotlin.Boolean
|
||||
// Public signature: /Base.equals|722809408929142791[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: Base#equals(kotlin.Any?){}
|
||||
// Public signature: /Base.equals|4638265728071529943[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}
|
||||
override operator fun equals(other: Any?): Boolean
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: Child1
|
||||
// Public signature: /Child1|null[0]
|
||||
class Child1 : Base, I {
|
||||
// CHECK:
|
||||
// Mangled name: Child1#<init>(){}
|
||||
// Public signature: /Child1.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: Child1#equals(kotlin.Any?){}kotlin.Boolean
|
||||
// Public signature: /Child1.equals|722809408929142791[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: Child1#equals(kotlin.Any?){}
|
||||
// Public signature: /Child1.equals|4638265728071529943[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}
|
||||
/* fake */ override operator fun equals(other: Any?): Boolean
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: Child2
|
||||
// Public signature: /Child2|null[0]
|
||||
class Child2 : Base, I {
|
||||
// CHECK:
|
||||
// Mangled name: Child2#<init>(){}
|
||||
// Public signature: /Child2.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: Child2#equals(kotlin.Any?){}kotlin.Boolean
|
||||
// Public signature: /Child2.equals|722809408929142791[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: Child2#equals(kotlin.Any?){}
|
||||
// Public signature: /Child2.equals|4638265728071529943[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}
|
||||
/* fake */ override operator fun equals(other: Any?): Boolean
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: I
|
||||
// Public signature: /I|null[0]
|
||||
interface I {
|
||||
}
|
||||
|
||||
-249
@@ -1,249 +0,0 @@
|
||||
FILE fqName:<root> fileName:/inlineCollectionOfInlineClass.kt
|
||||
CLASS CLASS name:IT modality:FINAL visibility:public [value] superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IT
|
||||
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.IT [primary]
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:IT modality:FINAL visibility:public [value] superTypes:[kotlin.Any]'
|
||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'x: kotlin.Int declared in <root>.IT.<init>' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.IT) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IT
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.IT'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: <root>.IT declared in <root>.IT.<get-x>' type=<root>.IT origin=null
|
||||
FUN GENERATED_SINGLE_FIELD_VALUE_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:<root>.IT) returnType:kotlin.String
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IT
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in <root>.IT'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="IT("
|
||||
CONST String type=kotlin.String value="x="
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: <root>.IT declared in <root>.IT.toString' type=<root>.IT origin=null
|
||||
CONST String type=kotlin.String value=")"
|
||||
FUN GENERATED_SINGLE_FIELD_VALUE_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:<root>.IT) returnType:kotlin.Int
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IT
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in <root>.IT'
|
||||
CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: <root>.IT declared in <root>.IT.hashCode' type=<root>.IT origin=null
|
||||
FUN GENERATED_SINGLE_FIELD_VALUE_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:<root>.IT, other:kotlin.Any?) returnType:kotlin.Boolean [operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IT
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
BLOCK_BODY
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=<root>.IT
|
||||
GET_VAR 'other: kotlin.Any? declared in <root>.IT.equals' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.IT'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:<root>.IT [val]
|
||||
TYPE_OP type=<root>.IT origin=CAST typeOperand=<root>.IT
|
||||
GET_VAR 'other: kotlin.Any? declared in <root>.IT.equals' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: <root>.IT declared in <root>.IT.equals' type=<root>.IT origin=null
|
||||
arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR 'val tmp_0: <root>.IT declared in <root>.IT.equals' type=<root>.IT origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.IT'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.IT'
|
||||
CONST Boolean type=kotlin.Boolean value=true
|
||||
CLASS CLASS name:InlineMutableSet modality:FINAL visibility:public [value] superTypes:[kotlin.collections.MutableSet<<root>.IT>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.InlineMutableSet
|
||||
CONSTRUCTOR visibility:public <> (ms:kotlin.collections.MutableSet<<root>.IT>) returnType:<root>.InlineMutableSet [primary]
|
||||
VALUE_PARAMETER name:ms index:0 type:kotlin.collections.MutableSet<<root>.IT>
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InlineMutableSet modality:FINAL visibility:public [value] superTypes:[kotlin.collections.MutableSet<<root>.IT>]'
|
||||
PROPERTY name:ms visibility:private modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:ms type:kotlin.collections.MutableSet<<root>.IT> visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'ms: kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet.<init>' type=kotlin.collections.MutableSet<<root>.IT> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-ms> visibility:private modality:FINAL <> ($this:<root>.InlineMutableSet) returnType:kotlin.collections.MutableSet<<root>.IT>
|
||||
correspondingProperty: PROPERTY name:ms visibility:private modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ms type:kotlin.collections.MutableSet<<root>.IT> visibility:private [final]' type=kotlin.collections.MutableSet<<root>.IT> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.<get-ms>' type=<root>.InlineMutableSet origin=null
|
||||
PROPERTY name:size visibility:public modality:OPEN [val]
|
||||
overridden:
|
||||
public abstract size: kotlin.Int
|
||||
FUN name:<get-size> visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val]
|
||||
overridden:
|
||||
public abstract fun <get-size> (): kotlin.Int declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun <get-size> (): kotlin.Int declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun <get-size> (): kotlin.Int declared in kotlin.collections.MutableSet' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.<get-size>' type=<root>.InlineMutableSet origin=null
|
||||
FUN name:contains visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet, element:<root>.IT) returnType:kotlin.Boolean [operator]
|
||||
overridden:
|
||||
public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
VALUE_PARAMETER name:element index:0 type:<root>.IT
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun contains (element: <root>.IT): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.contains' type=<root>.InlineMutableSet origin=null
|
||||
element: GET_VAR 'element: <root>.IT declared in <root>.InlineMutableSet.contains' type=<root>.IT origin=null
|
||||
FUN name:containsAll visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet, elements:kotlin.collections.Collection<<root>.IT>) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun containsAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableSet>): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<<root>.IT>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun containsAll (elements: kotlin.collections.Collection<<root>.IT>): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun containsAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableSet>): kotlin.Boolean declared in kotlin.collections.MutableSet' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.containsAll' type=<root>.InlineMutableSet origin=null
|
||||
elements: GET_VAR 'elements: kotlin.collections.Collection<<root>.IT> declared in <root>.InlineMutableSet.containsAll' type=kotlin.collections.Collection<<root>.IT> origin=null
|
||||
FUN name:isEmpty visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun isEmpty (): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.isEmpty' type=<root>.InlineMutableSet origin=null
|
||||
FUN name:add visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet, element:<root>.IT) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
VALUE_PARAMETER name:element index:0 type:<root>.IT
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun add (element: <root>.IT): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.add' type=<root>.InlineMutableSet origin=null
|
||||
element: GET_VAR 'element: <root>.IT declared in <root>.InlineMutableSet.add' type=<root>.IT origin=null
|
||||
FUN name:addAll visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet, elements:kotlin.collections.Collection<<root>.IT>) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun addAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableSet>): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<<root>.IT>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun addAll (elements: kotlin.collections.Collection<<root>.IT>): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun addAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableSet>): kotlin.Boolean declared in kotlin.collections.MutableSet' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.addAll' type=<root>.InlineMutableSet origin=null
|
||||
elements: GET_VAR 'elements: kotlin.collections.Collection<<root>.IT> declared in <root>.InlineMutableSet.addAll' type=kotlin.collections.Collection<<root>.IT> origin=null
|
||||
FUN name:clear visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
BLOCK_BODY
|
||||
CALL 'public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet' type=kotlin.Unit origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.clear' type=<root>.InlineMutableSet origin=null
|
||||
FUN name:iterator visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet) returnType:kotlin.collections.MutableIterator<<root>.IT> [operator]
|
||||
overridden:
|
||||
public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun iterator (): kotlin.collections.MutableIterator<<root>.IT> declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet' type=kotlin.collections.MutableIterator<<root>.IT> origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.iterator' type=<root>.InlineMutableSet origin=null
|
||||
FUN name:remove visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet, element:<root>.IT) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
VALUE_PARAMETER name:element index:0 type:<root>.IT
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun remove (element: <root>.IT): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.remove' type=<root>.InlineMutableSet origin=null
|
||||
element: GET_VAR 'element: <root>.IT declared in <root>.InlineMutableSet.remove' type=<root>.IT origin=null
|
||||
FUN name:removeAll visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet, elements:kotlin.collections.Collection<<root>.IT>) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun removeAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableSet>): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<<root>.IT>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun removeAll (elements: kotlin.collections.Collection<<root>.IT>): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun removeAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableSet>): kotlin.Boolean declared in kotlin.collections.MutableSet' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.removeAll' type=<root>.InlineMutableSet origin=null
|
||||
elements: GET_VAR 'elements: kotlin.collections.Collection<<root>.IT> declared in <root>.InlineMutableSet.removeAll' type=kotlin.collections.Collection<<root>.IT> origin=null
|
||||
FUN name:retainAll visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet, elements:kotlin.collections.Collection<<root>.IT>) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun retainAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableSet>): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<<root>.IT>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun retainAll (elements: kotlin.collections.Collection<<root>.IT>): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CALL 'public abstract fun retainAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableSet>): kotlin.Boolean declared in kotlin.collections.MutableSet' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'private final fun <get-ms> (): kotlin.collections.MutableSet<<root>.IT> declared in <root>.InlineMutableSet' type=kotlin.collections.MutableSet<<root>.IT> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.retainAll' type=<root>.InlineMutableSet origin=null
|
||||
elements: GET_VAR 'elements: kotlin.collections.Collection<<root>.IT> declared in <root>.InlineMutableSet.retainAll' type=kotlin.collections.Collection<<root>.IT> origin=null
|
||||
FUN GENERATED_SINGLE_FIELD_VALUE_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet) returnType:kotlin.String
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in <root>.InlineMutableSet'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="InlineMutableSet("
|
||||
CONST String type=kotlin.String value="ms="
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ms type:kotlin.collections.MutableSet<<root>.IT> visibility:private [final]' type=kotlin.collections.MutableSet<<root>.IT> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.toString' type=<root>.InlineMutableSet origin=null
|
||||
CONST String type=kotlin.String value=")"
|
||||
FUN GENERATED_SINGLE_FIELD_VALUE_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet) returnType:kotlin.Int
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in <root>.InlineMutableSet'
|
||||
CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet' type=kotlin.Int origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ms type:kotlin.collections.MutableSet<<root>.IT> visibility:private [final]' type=kotlin.collections.MutableSet<<root>.IT> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.hashCode' type=<root>.InlineMutableSet origin=null
|
||||
FUN GENERATED_SINGLE_FIELD_VALUE_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:<root>.InlineMutableSet, other:kotlin.Any?) returnType:kotlin.Boolean [operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.InlineMutableSet
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
BLOCK_BODY
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=<root>.InlineMutableSet
|
||||
GET_VAR 'other: kotlin.Any? declared in <root>.InlineMutableSet.equals' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:<root>.InlineMutableSet [val]
|
||||
TYPE_OP type=<root>.InlineMutableSet origin=CAST typeOperand=<root>.InlineMutableSet
|
||||
GET_VAR 'other: kotlin.Any? declared in <root>.InlineMutableSet.equals' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ms type:kotlin.collections.MutableSet<<root>.IT> visibility:private [final]' type=kotlin.collections.MutableSet<<root>.IT> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.InlineMutableSet declared in <root>.InlineMutableSet.equals' type=<root>.InlineMutableSet origin=null
|
||||
arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ms type:kotlin.collections.MutableSet<<root>.IT> visibility:private [final]' type=kotlin.collections.MutableSet<<root>.IT> origin=null
|
||||
receiver: GET_VAR 'val tmp_1: <root>.InlineMutableSet declared in <root>.InlineMutableSet.equals' type=<root>.InlineMutableSet origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.InlineMutableSet'
|
||||
CONST Boolean type=kotlin.Boolean value=true
|
||||
-109
@@ -1,109 +0,0 @@
|
||||
value class IT {
|
||||
constructor(x: Int) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val x: Int
|
||||
field = x
|
||||
get
|
||||
|
||||
override fun toString(): String {
|
||||
return "IT(" + "x=" + <this>.#x + ")"
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
return <this>.#x.hashCode()
|
||||
}
|
||||
|
||||
override operator fun equals(other: Any?): Boolean {
|
||||
when {
|
||||
other !is IT -> return false
|
||||
}
|
||||
val tmp_0: IT = other as IT
|
||||
when {
|
||||
EQEQ(arg0 = <this>.#x, arg1 = tmp_0.#x).not() -> return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
value class InlineMutableSet : MutableSet<IT> {
|
||||
constructor(ms: MutableSet<IT>) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
private val ms: MutableSet<IT>
|
||||
field = ms
|
||||
private get
|
||||
|
||||
override val size: Int
|
||||
override get(): Int {
|
||||
return <this>.<get-ms>().<get-size>()
|
||||
}
|
||||
|
||||
override operator fun contains(element: IT): Boolean {
|
||||
return <this>.<get-ms>().contains(element = element)
|
||||
}
|
||||
|
||||
override fun containsAll(elements: Collection<IT>): Boolean {
|
||||
return <this>.<get-ms>().containsAll(elements = elements)
|
||||
}
|
||||
|
||||
override fun isEmpty(): Boolean {
|
||||
return <this>.<get-ms>().isEmpty()
|
||||
}
|
||||
|
||||
override fun add(element: IT): Boolean {
|
||||
return <this>.<get-ms>().add(element = element)
|
||||
}
|
||||
|
||||
override fun addAll(elements: Collection<IT>): Boolean {
|
||||
return <this>.<get-ms>().addAll(elements = elements)
|
||||
}
|
||||
|
||||
override fun clear() {
|
||||
<this>.<get-ms>().clear()
|
||||
}
|
||||
|
||||
override operator fun iterator(): MutableIterator<IT> {
|
||||
return <this>.<get-ms>().iterator()
|
||||
}
|
||||
|
||||
override fun remove(element: IT): Boolean {
|
||||
return <this>.<get-ms>().remove(element = element)
|
||||
}
|
||||
|
||||
override fun removeAll(elements: Collection<IT>): Boolean {
|
||||
return <this>.<get-ms>().removeAll(elements = elements)
|
||||
}
|
||||
|
||||
override fun retainAll(elements: Collection<IT>): Boolean {
|
||||
return <this>.<get-ms>().retainAll(elements = elements)
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "InlineMutableSet(" + "ms=" + <this>.#ms + ")"
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
return <this>.#ms.hashCode()
|
||||
}
|
||||
|
||||
override operator fun equals(other: Any?): Boolean {
|
||||
when {
|
||||
other !is InlineMutableSet -> return false
|
||||
}
|
||||
val tmp_1: InlineMutableSet = other as InlineMutableSet
|
||||
when {
|
||||
EQEQ(arg0 = <this>.#ms, arg1 = tmp_1.#ms).not() -> return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
// FIR_IDENTICAL
|
||||
// KT-64271
|
||||
// IGNORE_BACKEND_K2: JVM_IR
|
||||
|
||||
inline class IT(val x: Int)
|
||||
|
||||
inline class InlineMutableSet(private val ms: MutableSet<IT>) : MutableSet<IT> {
|
||||
|
||||
Vendored
+5
-3
@@ -17,16 +17,19 @@ class C2 : C1 {
|
||||
// Public signature debug description: f(){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: C2#f(){}
|
||||
// Mangled name for the signature: f(){}
|
||||
// Public signature: /C2.f|5316533450599009716[0]
|
||||
// Public signature debug description: f(){}
|
||||
/* fake */ override fun f(): String
|
||||
|
||||
// CHECK:
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: C2{}p
|
||||
// Mangled name for the signature: {}p
|
||||
// Public signature: /C2.p|6715504260787941082[0]
|
||||
// Public signature debug description: {}p
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: C2{}p
|
||||
// Public signature: /C2.p|6715504260787941082[0]
|
||||
// Public signature debug description: {}p
|
||||
/* fake */ override val p: Int
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: C2#<get-p>(){}kotlin.Int
|
||||
@@ -35,7 +38,6 @@ class C2 : C1 {
|
||||
// Public signature debug description: <get-p>(){}kotlin.Int
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: C2#<get-p>(){}
|
||||
// Mangled name for the signature: <get-p>(){}
|
||||
// Public signature: /C2.p.<get-p>|-1162552463316289847[0]
|
||||
// Public signature debug description: <get-p>(){}
|
||||
/* fake */ override get(): Int
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
FILE fqName:<root> fileName:/SignatureClash.kt
|
||||
TYPEALIAS name:Some visibility:public expandedType:kotlin.Function1<kotlin.Any, kotlin.String?>
|
||||
CLASS OBJECT name:Factory modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Factory
|
||||
CONSTRUCTOR visibility:private <> () returnType:<root>.Factory [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Factory modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Factory, a:kotlin.String) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Factory
|
||||
VALUE_PARAMETER name:a index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (a: kotlin.String): kotlin.String declared in <root>.Factory'
|
||||
CONST String type=kotlin.String value="Alpha"
|
||||
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Factory, a:kotlin.String, f:kotlin.Function1<kotlin.Any, kotlin.String?>) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Factory
|
||||
VALUE_PARAMETER name:a index:0 type:kotlin.String
|
||||
VALUE_PARAMETER name:f index:1 type:kotlin.Function1<kotlin.Any, kotlin.String?>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (a: kotlin.String, f: kotlin.Function1<kotlin.Any, kotlin.String?>): kotlin.String declared in <root>.Factory'
|
||||
CONST String type=kotlin.String value="Omega"
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS INTERFACE name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS INTERFACE name:Delegate modality:ABSTRACT visibility:public superTypes:[<root>.Base]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Delegate
|
||||
FUN name:bar visibility:public modality:ABSTRACT <> ($this:<root>.Delegate) returnType:kotlin.Unit
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Delegate
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in <root>.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS INTERFACE name:Derived modality:ABSTRACT visibility:public superTypes:[<root>.Delegate]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived
|
||||
FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:<root>.Delegate) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public abstract fun bar (): kotlin.Unit declared in <root>.Delegate
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Delegate
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Delegate
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in <root>.Delegate
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in <root>.Delegate
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:DataClass modality:FINAL visibility:public [data] superTypes:[<root>.Derived; <root>.Delegate]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DataClass
|
||||
CONSTRUCTOR visibility:public <> (delegate:<root>.Delegate) returnType:<root>.DataClass [primary]
|
||||
VALUE_PARAMETER name:delegate index:0 type:<root>.Delegate
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DataClass modality:FINAL visibility:public [data] superTypes:[<root>.Derived; <root>.Delegate]'
|
||||
PROPERTY name:delegate visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'delegate: <root>.Delegate declared in <root>.DataClass.<init>' type=<root>.Delegate origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-delegate> visibility:public modality:FINAL <> ($this:<root>.DataClass) returnType:<root>.Delegate
|
||||
correspondingProperty: PROPERTY name:delegate visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-delegate> (): <root>.Delegate declared in <root>.DataClass'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.<get-delegate>' type=<root>.DataClass origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:<root>.DataClass) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun bar (): kotlin.Unit declared in <root>.Derived
|
||||
public abstract fun bar (): kotlin.Unit declared in <root>.Delegate
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
BLOCK_BODY
|
||||
CALL 'public abstract fun bar (): kotlin.Unit declared in <root>.Delegate' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.bar' type=<root>.DataClass origin=null
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:<root>.DataClass) returnType:<root>.Delegate [operator]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun component1 (): <root>.Delegate declared in <root>.DataClass'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.component1' type=<root>.DataClass origin=null
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:<root>.DataClass, delegate:<root>.Delegate) returnType:<root>.DataClass
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
VALUE_PARAMETER name:delegate index:0 type:<root>.Delegate
|
||||
EXPRESSION_BODY
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.copy' type=<root>.DataClass origin=null
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun copy (delegate: <root>.Delegate): <root>.DataClass declared in <root>.DataClass'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (delegate: <root>.Delegate) declared in <root>.DataClass' type=<root>.DataClass origin=null
|
||||
delegate: GET_VAR 'delegate: <root>.Delegate declared in <root>.DataClass.copy' type=<root>.Delegate origin=null
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:<root>.DataClass) returnType:kotlin.String
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in <root>.DataClass'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="DataClass("
|
||||
CONST String type=kotlin.String value="delegate="
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.toString' type=<root>.DataClass origin=null
|
||||
CONST String type=kotlin.String value=")"
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:<root>.DataClass) returnType:kotlin.Int
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in <root>.DataClass'
|
||||
CALL 'public open fun hashCode (): kotlin.Int declared in <root>.Delegate' type=kotlin.Int origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.hashCode' type=<root>.DataClass origin=null
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:<root>.DataClass, other:kotlin.Any?) returnType:kotlin.Boolean [operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
BLOCK_BODY
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ
|
||||
arg0: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.equals' type=<root>.DataClass origin=null
|
||||
arg1: GET_VAR 'other: kotlin.Any? declared in <root>.DataClass.equals' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.DataClass'
|
||||
CONST Boolean type=kotlin.Boolean value=true
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=<root>.DataClass
|
||||
GET_VAR 'other: kotlin.Any? declared in <root>.DataClass.equals' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.DataClass'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:<root>.DataClass [val]
|
||||
TYPE_OP type=<root>.DataClass origin=CAST typeOperand=<root>.DataClass
|
||||
GET_VAR 'other: kotlin.Any? declared in <root>.DataClass.equals' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.equals' type=<root>.DataClass origin=null
|
||||
arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR 'val tmp_0: <root>.DataClass declared in <root>.DataClass.equals' type=<root>.DataClass origin=null
|
||||
then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.DataClass'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.DataClass'
|
||||
CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -1,76 +0,0 @@
|
||||
typealias Some = Function1<Any, String?>
|
||||
object Factory {
|
||||
private constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun foo(a: String): String {
|
||||
return "Alpha"
|
||||
}
|
||||
|
||||
fun foo(a: String, f: Function1<Any, String?>): String {
|
||||
return "Omega"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface Base {
|
||||
}
|
||||
|
||||
interface Delegate : Base {
|
||||
abstract fun bar()
|
||||
|
||||
}
|
||||
|
||||
interface Derived : Delegate {
|
||||
}
|
||||
|
||||
data class DataClass : Derived, Delegate {
|
||||
constructor(delegate: Delegate) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val delegate: Delegate
|
||||
field = delegate
|
||||
get
|
||||
|
||||
override fun bar() {
|
||||
<this>.#delegate.bar()
|
||||
}
|
||||
|
||||
operator fun component1(): Delegate {
|
||||
return <this>.#delegate
|
||||
}
|
||||
|
||||
fun copy(delegate: Delegate = <this>.#delegate): DataClass {
|
||||
return DataClass(delegate = delegate)
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "DataClass(" + "delegate=" + <this>.#delegate + ")"
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
return <this>.#delegate.hashCode()
|
||||
}
|
||||
|
||||
override operator fun equals(other: Any?): Boolean {
|
||||
when {
|
||||
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
|
||||
}
|
||||
when {
|
||||
other !is DataClass -> return false
|
||||
}
|
||||
val tmp_0: DataClass = other as DataClass
|
||||
when {
|
||||
EQEQ(arg0 = <this>.#delegate, arg1 = tmp_0.#delegate).not() -> return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
// FIR_IDENTICAL
|
||||
// KT-64271
|
||||
// IGNORE_BACKEND_K2: JVM_IR
|
||||
|
||||
typealias Some = (Any) -> String?
|
||||
|
||||
object Factory {
|
||||
|
||||
@@ -136,16 +136,16 @@ FILE fqName:events fileName:/kt38765.kt
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [external,fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [external,fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [external,fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
|
||||
@@ -7,16 +7,16 @@ FILE fqName:foo fileName:/nativeNativeKotlin.kt
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public [external] superTypes:[kotlin.Any]'
|
||||
FUN name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.A
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [external,fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [external,fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [external,fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
@@ -28,20 +28,20 @@ FILE fqName:foo fileName:/nativeNativeKotlin.kt
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:OPEN visibility:public [external] superTypes:[foo.A]'
|
||||
FUN name:bar visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.B
|
||||
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String [fake_override]
|
||||
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.String [external,fake_override]
|
||||
overridden:
|
||||
public final fun foo (): kotlin.String declared in foo.A
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.A
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [external,fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.A
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [external,fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in foo.A
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [external,fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in foo.A
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
|
||||
+6
@@ -280,6 +280,12 @@ public class ClassicJvmIrTextTestGenerated extends AbstractClassicJvmIrTextTest
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
+2
-1
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.test.frontend.fir
|
||||
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.platform.isCommon
|
||||
import org.jetbrains.kotlin.platform.isJs
|
||||
import org.jetbrains.kotlin.platform.jvm.isJvm
|
||||
@@ -17,7 +18,7 @@ import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
fun TestModule.shouldUseIrFakeOverrideBuilder(): Boolean {
|
||||
return CodegenTestDirectives.ENABLE_IR_FAKE_OVERRIDE_GENERATION in directives
|
||||
return !targetPlatform.isJvm() || CodegenTestDirectives.ENABLE_IR_FAKE_OVERRIDE_GENERATION in directives
|
||||
}
|
||||
|
||||
class Fir2IrResultsConverter(
|
||||
|
||||
+5
@@ -207,6 +207,11 @@ public class KlibIrTextTestCaseGenerated extends AbstractKlibIrTextTestCase {
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/primaryConstructor.kt");
|
||||
|
||||
Generated
+6
@@ -232,6 +232,12 @@ public class FirLightTreeJsIrTextTestGenerated extends AbstractFirLightTreeJsIrT
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
+6
@@ -232,6 +232,12 @@ public class FirPsiJsIrTextTestGenerated extends AbstractFirPsiJsIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
+6
@@ -232,6 +232,12 @@ public class ClassicJsIrTextTestGenerated extends AbstractClassicJsIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ internal fun PhaseContext.fir2Ir(
|
||||
inlineConstTracker = null,
|
||||
expectActualTracker = configuration[CommonConfigurationKeys.EXPECT_ACTUAL_TRACKER],
|
||||
allowNonCachedDeclarations = false,
|
||||
useIrFakeOverrideBuilder = configuration.getBoolean(CommonConfigurationKeys.USE_IR_FAKE_OVERRIDE_BUILDER),
|
||||
useIrFakeOverrideBuilder = true,
|
||||
)
|
||||
val (irModuleFragment, components, pluginContext, irActualizedResult) = input.firResult.convertToIrAndActualize(
|
||||
NativeFir2IrExtensions,
|
||||
|
||||
+6
@@ -232,6 +232,12 @@ public class ClassicNativeIrTextTestGenerated extends AbstractClassicNativeIrTex
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
+6
@@ -232,6 +232,12 @@ public class FirLightTreeNativeIrTextTestGenerated extends AbstractFirLightTreeN
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
+6
@@ -232,6 +232,12 @@ public class FirPsiNativeIrTextTestGenerated extends AbstractFirPsiNativeIrTextT
|
||||
runTest("compiler/testData/ir/irText/classes/outerClassAccess.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("overriddenEquals.kt")
|
||||
public void testOverriddenEquals() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/overriddenEquals.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructor.kt")
|
||||
public void testPrimaryConstructor() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user