JVM_IR KT-42020 special IdSignature for some fake override members
This commit is contained in:
+5
@@ -54,6 +54,11 @@ public class FirCompileKotlinAgainstKotlinTestGenerated extends AbstractFirCompi
|
|||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/compileKotlinAgainstKotlin/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInObject.kt")
|
@TestMetadata("classInObject.kt")
|
||||||
public void testClassInObject() throws Exception {
|
public void testClassInObject() throws Exception {
|
||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
||||||
|
|||||||
Generated
+5
@@ -15937,6 +15937,11 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
|||||||
runTest("compiler/testData/codegen/box/ir/anonymousObjectInsideElvis.kt");
|
runTest("compiler/testData/codegen/box/ir/anonymousObjectInsideElvis.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/ir/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInitializers.kt")
|
@TestMetadata("classInitializers.kt")
|
||||||
public void testClassInitializers() throws Exception {
|
public void testClassInitializers() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/ir/classInitializers.kt");
|
runTest("compiler/testData/codegen/box/ir/classInitializers.kt");
|
||||||
|
|||||||
+5
@@ -56,6 +56,11 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest {
|
|||||||
runTest("compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.kt");
|
runTest("compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classMembers.kt")
|
@TestMetadata("classMembers.kt")
|
||||||
public void testClassMembers() throws Exception {
|
public void testClassMembers() throws Exception {
|
||||||
runTest("compiler/testData/ir/irText/classes/classMembers.kt");
|
runTest("compiler/testData/ir/irText/classes/classMembers.kt");
|
||||||
|
|||||||
@@ -114,6 +114,64 @@ sealed class IdSignature {
|
|||||||
override fun hashCode(): Int = accessorSignature.hashCode()
|
override fun hashCode(): Int = accessorSignature.hashCode()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// KT-42020
|
||||||
|
// This special signature is required to disambiguate fake overrides 'foo(x: T)[T = String]' and 'foo(x: String)' in the code below:
|
||||||
|
//
|
||||||
|
// open class Base<T> {
|
||||||
|
// fun foo(x: T) {}
|
||||||
|
// fun foo(x: String) {}
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// class Derived : Base<String>()
|
||||||
|
//
|
||||||
|
// (NB similar clash is possible for generic member extension properties as well)
|
||||||
|
//
|
||||||
|
// For each fake override 'foo' we collect non-fake overrides overridden by 'foo'
|
||||||
|
// such that their value parameter types contain type parameters of 'Base',
|
||||||
|
// sorted by the fully-qualified name of the containing class.
|
||||||
|
//
|
||||||
|
// NB this special case of IdSignature is JVM-specific.
|
||||||
|
class SpecialFakeOverrideSignature(
|
||||||
|
val memberSignature: IdSignature,
|
||||||
|
val overriddenSignatures: List<IdSignature>
|
||||||
|
) : IdSignature() {
|
||||||
|
override val isPublic: Boolean
|
||||||
|
get() = memberSignature.isPublic
|
||||||
|
|
||||||
|
override fun topLevelSignature(): IdSignature =
|
||||||
|
memberSignature.topLevelSignature()
|
||||||
|
|
||||||
|
override fun nearestPublicSig(): IdSignature =
|
||||||
|
if (memberSignature.isPublic)
|
||||||
|
this
|
||||||
|
else
|
||||||
|
memberSignature.nearestPublicSig()
|
||||||
|
|
||||||
|
override fun packageFqName(): FqName =
|
||||||
|
memberSignature.packageFqName()
|
||||||
|
|
||||||
|
override fun render(): String =
|
||||||
|
memberSignature.render()
|
||||||
|
|
||||||
|
override fun equals(other: Any?): Boolean {
|
||||||
|
if (this === other) return true
|
||||||
|
if (javaClass != other?.javaClass) return false
|
||||||
|
|
||||||
|
other as SpecialFakeOverrideSignature
|
||||||
|
|
||||||
|
if (memberSignature != other.memberSignature) return false
|
||||||
|
if (overriddenSignatures != other.overriddenSignatures) return false
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun hashCode(): Int {
|
||||||
|
var result = memberSignature.hashCode()
|
||||||
|
result = 31 * result + overriddenSignatures.hashCode()
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class FileLocalSignature(val container: IdSignature, val id: Long) : IdSignature() {
|
class FileLocalSignature(val container: IdSignature, val id: Long) : IdSignature() {
|
||||||
override val isPublic: Boolean get() = false
|
override val isPublic: Boolean get() = false
|
||||||
|
|
||||||
|
|||||||
+20
-8
@@ -14,6 +14,7 @@ abstract class IdSignatureBuilder<D> {
|
|||||||
protected val classFqnSegments = mutableListOf<String>()
|
protected val classFqnSegments = mutableListOf<String>()
|
||||||
protected var hashId: Long? = null
|
protected var hashId: Long? = null
|
||||||
protected var hashIdAcc: Long? = null
|
protected var hashIdAcc: Long? = null
|
||||||
|
protected var overridden: List<D>? = null
|
||||||
protected var mask = 0L
|
protected var mask = 0L
|
||||||
|
|
||||||
protected abstract fun accept(d: D)
|
protected abstract fun accept(d: D)
|
||||||
@@ -23,19 +24,30 @@ abstract class IdSignatureBuilder<D> {
|
|||||||
this.classFqnSegments.clear()
|
this.classFqnSegments.clear()
|
||||||
this.hashId = null
|
this.hashId = null
|
||||||
this.mask = 0L
|
this.mask = 0L
|
||||||
|
this.overridden = null
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun build(): IdSignature {
|
protected fun build(): IdSignature {
|
||||||
val packageFqName = packageFqn.asString()
|
val packageFqName = packageFqn.asString()
|
||||||
val classFqName = classFqnSegments.joinToString(".")
|
val classFqName = classFqnSegments.joinToString(".")
|
||||||
return if (hashIdAcc == null) {
|
return when {
|
||||||
IdSignature.PublicSignature(packageFqName, classFqName, hashId, mask)
|
overridden != null -> {
|
||||||
} else {
|
val preserved = overridden!!
|
||||||
val accessorSignature = IdSignature.PublicSignature(packageFqName, classFqName, hashIdAcc, mask)
|
overridden = null
|
||||||
hashIdAcc = null
|
val memberSignature = build()
|
||||||
classFqnSegments.run { removeAt(lastIndex) }
|
val overriddenSignatures = preserved.map { buildSignature(it) }
|
||||||
val propertySignature = build()
|
return IdSignature.SpecialFakeOverrideSignature(memberSignature, overriddenSignatures)
|
||||||
IdSignature.AccessorSignature(propertySignature, accessorSignature)
|
}
|
||||||
|
hashIdAcc == null -> {
|
||||||
|
IdSignature.PublicSignature(packageFqName, classFqName, hashId, mask)
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
val accessorSignature = IdSignature.PublicSignature(packageFqName, classFqName, hashIdAcc, mask)
|
||||||
|
hashIdAcc = null
|
||||||
|
classFqnSegments.run { removeAt(lastIndex) }
|
||||||
|
val propertySignature = build()
|
||||||
|
IdSignature.AccessorSignature(propertySignature, accessorSignature)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+76
-2
@@ -6,18 +6,92 @@
|
|||||||
package org.jetbrains.kotlin.backend.jvm.serialization
|
package org.jetbrains.kotlin.backend.jvm.serialization
|
||||||
|
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor
|
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
import org.jetbrains.kotlin.ir.util.KotlinMangler
|
import org.jetbrains.kotlin.ir.util.KotlinMangler
|
||||||
import org.jetbrains.kotlin.load.java.descriptors.JavaForKotlinOverridePropertyDescriptor
|
import org.jetbrains.kotlin.load.java.descriptors.JavaForKotlinOverridePropertyDescriptor
|
||||||
import org.jetbrains.kotlin.load.java.descriptors.JavaPropertyDescriptor
|
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe
|
||||||
|
import org.jetbrains.kotlin.resolve.descriptorUtil.overriddenTreeAsSequence
|
||||||
|
import org.jetbrains.kotlin.types.KotlinType
|
||||||
|
import org.jetbrains.kotlin.types.typeUtil.contains
|
||||||
|
import org.jetbrains.kotlin.utils.addToStdlib.cast
|
||||||
|
|
||||||
class JvmIdSignatureDescriptor(private val mangler: KotlinMangler.DescriptorMangler) : IdSignatureDescriptor(mangler) {
|
class JvmIdSignatureDescriptor(private val mangler: KotlinMangler.DescriptorMangler) : IdSignatureDescriptor(mangler) {
|
||||||
|
|
||||||
private class JvmDescriptorBasedSignatureBuilder(mangler: KotlinMangler.DescriptorMangler) : DescriptorBasedSignatureBuilder(mangler) {
|
private class JvmDescriptorBasedSignatureBuilder(mangler: KotlinMangler.DescriptorMangler) : DescriptorBasedSignatureBuilder(mangler) {
|
||||||
|
override fun platformSpecificFunction(descriptor: FunctionDescriptor) {
|
||||||
|
keepTrackOfOverridesForPossiblyClashingFakeOverride(descriptor)
|
||||||
|
}
|
||||||
|
|
||||||
override fun platformSpecificProperty(descriptor: PropertyDescriptor) {
|
override fun platformSpecificProperty(descriptor: PropertyDescriptor) {
|
||||||
// See KT-31646
|
// See KT-31646
|
||||||
setSpecialJavaProperty(descriptor is JavaForKotlinOverridePropertyDescriptor)
|
setSpecialJavaProperty(descriptor is JavaForKotlinOverridePropertyDescriptor)
|
||||||
|
keepTrackOfOverridesForPossiblyClashingFakeOverride(descriptor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun platformSpecificGetter(descriptor: PropertyGetterDescriptor) {
|
||||||
|
keepTrackOfOverridesForPossiblyClashingFakeOverride(descriptor)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun platformSpecificSetter(descriptor: PropertySetterDescriptor) {
|
||||||
|
keepTrackOfOverridesForPossiblyClashingFakeOverride(descriptor)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun keepTrackOfOverridesForPossiblyClashingFakeOverride(descriptor: CallableMemberDescriptor) {
|
||||||
|
if (descriptor.kind != CallableMemberDescriptor.Kind.FAKE_OVERRIDE) return
|
||||||
|
val containingClass = descriptor.containingDeclaration as? ClassDescriptor ?: return
|
||||||
|
|
||||||
|
val possiblyClashingMembers = when (descriptor) {
|
||||||
|
is PropertyAccessorDescriptor ->
|
||||||
|
containingClass.unsubstitutedMemberScope
|
||||||
|
.getContributedVariables(descriptor.correspondingProperty.name, NoLookupLocation.FROM_BACKEND)
|
||||||
|
is PropertyDescriptor ->
|
||||||
|
containingClass.unsubstitutedMemberScope
|
||||||
|
.getContributedVariables(descriptor.name, NoLookupLocation.FROM_BACKEND)
|
||||||
|
is FunctionDescriptor ->
|
||||||
|
containingClass.unsubstitutedMemberScope
|
||||||
|
.getContributedFunctions(descriptor.name, NoLookupLocation.FROM_BACKEND)
|
||||||
|
else ->
|
||||||
|
throw AssertionError("Unexpected CallableMemberDescriptor: $descriptor")
|
||||||
|
}
|
||||||
|
if (possiblyClashingMembers.size <= 1) return
|
||||||
|
|
||||||
|
val capturingOverrides = descriptor.overriddenTreeAsSequence(true).filter {
|
||||||
|
it.kind != CallableMemberDescriptor.Kind.FAKE_OVERRIDE && isCapturingTypeParameter(it)
|
||||||
|
}.toList()
|
||||||
|
if (capturingOverrides.isNotEmpty()) {
|
||||||
|
overridden = capturingOverrides.sortedBy {
|
||||||
|
it.containingDeclaration.cast<ClassDescriptor>().fqNameUnsafe.asString()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun isCapturingTypeParameter(member: CallableMemberDescriptor): Boolean {
|
||||||
|
val containingClasses = collectContainingClasses(member)
|
||||||
|
return member.extensionReceiverParameter?.isCapturingTypeParameter(containingClasses) == true ||
|
||||||
|
member.valueParameters.any { it.isCapturingTypeParameter(containingClasses) }
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun collectContainingClasses(member: CallableMemberDescriptor): Set<ClassDescriptor> {
|
||||||
|
val result = HashSet<ClassDescriptor>()
|
||||||
|
var pointer: DeclarationDescriptor = member
|
||||||
|
while (true) {
|
||||||
|
val containingClass = pointer.containingDeclaration as? ClassDescriptor ?: break
|
||||||
|
result.add(containingClass)
|
||||||
|
if (!containingClass.isInner) break
|
||||||
|
pointer = containingClass
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun ParameterDescriptor.isCapturingTypeParameter(containingClasses: Set<ClassDescriptor>): Boolean =
|
||||||
|
type.containsTypeParametersOf(containingClasses)
|
||||||
|
|
||||||
|
private fun KotlinType.containsTypeParametersOf(containingClasses: Set<ClassDescriptor>): Boolean =
|
||||||
|
contains {
|
||||||
|
val descriptor = it.constructor.declarationDescriptor
|
||||||
|
descriptor is TypeParameterDescriptor && descriptor.containingDeclaration in containingClasses
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createSignatureBuilder(): DescriptorBasedSignatureBuilder = JvmDescriptorBasedSignatureBuilder(mangler)
|
override fun createSignatureBuilder(): DescriptorBasedSignatureBuilder = JvmDescriptorBasedSignatureBuilder(mangler)
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
|
// ^ TODO decide if we want to fix KT-42020 for FIR as well
|
||||||
|
|
||||||
|
open class Base<T> {
|
||||||
|
fun foo(x: T) = "x:$x"
|
||||||
|
fun foo(y: String) = "y:$y"
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Derived : Base<String>()
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
val b = Base<String>()
|
||||||
|
val test1 = b.foo(x = "O") + b.foo(y = "K")
|
||||||
|
if (test1 != "x:Oy:K")
|
||||||
|
throw Exception("test1: $test1")
|
||||||
|
|
||||||
|
val d = Derived()
|
||||||
|
val test2 = d.foo(x = "O") + d.foo(y = "K")
|
||||||
|
if (test2 != "x:Oy:K")
|
||||||
|
throw Exception("test2: $test2")
|
||||||
|
|
||||||
|
val bd: Base<String> = Derived()
|
||||||
|
val test4 = bd.foo(x = "O") + bd.foo(y = "K")
|
||||||
|
if (test4 != "x:Oy:K")
|
||||||
|
throw Exception("test4: $test4")
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
// IGNORE_BACKEND: JS
|
// IGNORE_BACKEND: JS
|
||||||
// IGNORE_BACKEND: JS_IR
|
// IGNORE_BACKEND: JS_IR
|
||||||
// IGNORE_BACKEND: JS_IR_ES6
|
// IGNORE_BACKEND: JS_IR_ES6
|
||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// IGNORE_BACKEND: NATIVE
|
// IGNORE_BACKEND: NATIVE
|
||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
// MODULE: lib
|
// MODULE: lib
|
||||||
|
|||||||
+33
@@ -0,0 +1,33 @@
|
|||||||
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
|
// ^ TODO decide if we want to fix KT-42020 for FIR as well
|
||||||
|
// FILE: a.kt
|
||||||
|
package a
|
||||||
|
|
||||||
|
open class Base<T> {
|
||||||
|
fun foo(x: T) = "x:$x"
|
||||||
|
fun foo(y: String) = "y:$y"
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: b.kt
|
||||||
|
import a.Base
|
||||||
|
|
||||||
|
open class Derived : Base<String>()
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
val b = Base<String>()
|
||||||
|
val test1 = b.foo(x = "O") + b.foo(y = "K")
|
||||||
|
if (test1 != "x:Oy:K")
|
||||||
|
throw Exception("test1: $test1")
|
||||||
|
|
||||||
|
val d = Derived()
|
||||||
|
val test2 = d.foo(x = "O") + d.foo(y = "K")
|
||||||
|
if (test2 != "x:Oy:K")
|
||||||
|
throw Exception("test2: $test2")
|
||||||
|
|
||||||
|
val bd: Base<String> = Derived()
|
||||||
|
val test4 = bd.foo(x = "O") + bd.foo(y = "K")
|
||||||
|
if (test4 != "x:Oy:K")
|
||||||
|
throw Exception("test4: $test4")
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,474 @@
|
|||||||
|
FILE fqName:<root> fileName:/clashingFakeOverrideSignatures.kt
|
||||||
|
CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Base<T of <root>.Base> [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, x:T of <root>.Base) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:T of <root>.Base
|
||||||
|
BLOCK_BODY
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, y:kotlin.String) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, $receiver:T of <root>.Base) returnType:kotlin.Int
|
||||||
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.Base
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): kotlin.Int declared in <root>.Base'
|
||||||
|
CONST Int type=kotlin.Int value=1
|
||||||
|
PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, $receiver:kotlin.String) returnType:kotlin.Int
|
||||||
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): kotlin.Int declared in <root>.Base'
|
||||||
|
CONST Int type=kotlin.Int value=2
|
||||||
|
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 [operator] 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:Derived modality:OPEN visibility:public superTypes:[<root>.Base<kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Derived [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Base'
|
||||||
|
<T>: kotlin.String
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:OPEN visibility:public superTypes:[<root>.Base<kotlin.String>]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
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 [operator] 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:Derived2 modality:FINAL visibility:public superTypes:[<root>.Derived]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived2
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Derived2 [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Derived'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[<root>.Derived]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
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 [operator] 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
|
||||||
|
FUN name:test visibility:public modality:FINAL <> (b:<root>.Base<kotlin.String>, d:<root>.Derived, d2:<root>.Derived2) returnType:kotlin.Unit
|
||||||
|
VALUE_PARAMETER name:b index:0 type:<root>.Base<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:d index:1 type:<root>.Derived
|
||||||
|
VALUE_PARAMETER name:d2 index:2 type:<root>.Derived2
|
||||||
|
BLOCK_BODY
|
||||||
|
CALL 'public final fun foo (x: T of <root>.Base): kotlin.Unit declared in <root>.Base' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'b: <root>.Base<kotlin.String> declared in <root>.test' type=<root>.Base<kotlin.String> origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'b: <root>.Base<kotlin.String> declared in <root>.test' type=<root>.Base<kotlin.String> origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.Derived' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd: <root>.Derived declared in <root>.test' type=<root>.Derived origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd: <root>.Derived declared in <root>.test' type=<root>.Derived origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.Derived' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd2: <root>.Derived2 declared in <root>.test' type=<root>.Derived2 origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd2: <root>.Derived2 declared in <root>.test' type=<root>.Derived2 origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CLASS CLASS name:BaseXY modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>
|
||||||
|
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?]
|
||||||
|
TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?]
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY> [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseXY modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>, x:X of <root>.BaseXY, y:kotlin.String) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:X of <root>.BaseXY
|
||||||
|
VALUE_PARAMETER name:y index:1 type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>, x:kotlin.String, y:Y of <root>.BaseXY) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
VALUE_PARAMETER name:y index:1 type:Y of <root>.BaseXY
|
||||||
|
BLOCK_BODY
|
||||||
|
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 [operator] 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:DerivedXY modality:FINAL visibility:public superTypes:[<root>.BaseXY<kotlin.String, kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DerivedXY
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.DerivedXY [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.BaseXY'
|
||||||
|
<X>: kotlin.String
|
||||||
|
<Y>: kotlin.String
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedXY modality:FINAL visibility:public superTypes:[<root>.BaseXY<kotlin.String, kotlin.String>]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>, x:kotlin.String, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: kotlin.String, y: Y of <root>.BaseXY): kotlin.Unit declared in <root>.BaseXY
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
VALUE_PARAMETER name:y index:1 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>, x:kotlin.String, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: kotlin.String, y: Y of <root>.BaseXY): kotlin.Unit declared in <root>.BaseXY
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
VALUE_PARAMETER name:y index:1 type:kotlin.String
|
||||||
|
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 [operator] 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
|
||||||
|
FUN name:outerFun visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
|
BLOCK_BODY
|
||||||
|
CLASS CLASS name:LocalBase modality:OPEN visibility:local superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase> [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalBase modality:OPEN visibility:local superTypes:[kotlin.Any]'
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, x:T of <root>.outerFun.LocalBase) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:T of <root>.outerFun.LocalBase
|
||||||
|
BLOCK_BODY
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, y:kotlin.String) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, $receiver:T of <root>.outerFun.LocalBase) returnType:kotlin.Int
|
||||||
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.outerFun.LocalBase
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase'
|
||||||
|
CONST Int type=kotlin.Int value=1
|
||||||
|
PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, $receiver:kotlin.String) returnType:kotlin.Int
|
||||||
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase'
|
||||||
|
CONST Int type=kotlin.Int value=2
|
||||||
|
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 [operator] 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:LocalDerived modality:OPEN visibility:local superTypes:[<root>.outerFun.LocalBase<kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.outerFun.LocalDerived
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.outerFun.LocalDerived [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.outerFun.LocalBase'
|
||||||
|
<T>: kotlin.String
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalDerived modality:OPEN visibility:local superTypes:[<root>.outerFun.LocalBase<kotlin.String>]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: T of <root>.outerFun.LocalBase): kotlin.Unit declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
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 [operator] 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:LocalDerived2 modality:FINAL visibility:local superTypes:[<root>.outerFun.LocalDerived]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.outerFun.LocalDerived2
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.outerFun.LocalDerived2 [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.outerFun.LocalDerived'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalDerived2 modality:FINAL visibility:local superTypes:[<root>.outerFun.LocalDerived]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: T of <root>.outerFun.LocalBase): kotlin.Unit declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
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 [operator] 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
|
||||||
|
FUN name:test visibility:local modality:FINAL <> (b:<root>.outerFun.LocalBase<kotlin.String>, d:<root>.outerFun.LocalDerived, d2:<root>.outerFun.LocalDerived2) returnType:kotlin.Unit
|
||||||
|
VALUE_PARAMETER name:b index:0 type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:d index:1 type:<root>.outerFun.LocalDerived
|
||||||
|
VALUE_PARAMETER name:d2 index:2 type:<root>.outerFun.LocalDerived2
|
||||||
|
BLOCK_BODY
|
||||||
|
CALL 'public final fun foo (x: T of <root>.outerFun.LocalBase): kotlin.Unit declared in <root>.outerFun.LocalBase' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'b: <root>.outerFun.LocalBase<kotlin.String> declared in <root>.outerFun.test' type=<root>.outerFun.LocalBase<kotlin.String> origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.outerFun.LocalBase' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'b: <root>.outerFun.LocalBase<kotlin.String> declared in <root>.outerFun.test' type=<root>.outerFun.LocalBase<kotlin.String> origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.outerFun.LocalDerived' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd: <root>.outerFun.LocalDerived declared in <root>.outerFun.test' type=<root>.outerFun.LocalDerived origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.outerFun.LocalBase' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd: <root>.outerFun.LocalDerived declared in <root>.outerFun.test' type=<root>.outerFun.LocalDerived origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.outerFun.LocalDerived' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd2: <root>.outerFun.LocalDerived2 declared in <root>.outerFun.test' type=<root>.outerFun.LocalDerived2 origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.outerFun.LocalBase' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd2: <root>.outerFun.LocalDerived2 declared in <root>.outerFun.test' type=<root>.outerFun.LocalDerived2 origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CLASS CLASS name:Outer modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer<T of <root>.Outer>
|
||||||
|
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer<T of <root>.Outer> [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||||
|
CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer.Inner<T of <root>.Outer>
|
||||||
|
CONSTRUCTOR visibility:public <> ($this:<root>.Outer<T of <root>.Outer>) returnType:<root>.Outer.Inner<T of <root>.Outer> [primary]
|
||||||
|
$outer: VALUE_PARAMETER name:<this> type:<root>.Outer<T of <root>.Outer>
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]'
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<T of <root>.Outer>, x:T of <root>.Outer) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<T of <root>.Outer>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:T of <root>.Outer
|
||||||
|
BLOCK_BODY
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<T of <root>.Outer>, y:kotlin.String) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<T of <root>.Outer>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
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 [operator] 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
|
||||||
|
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 [operator] 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:OuterDerived modality:FINAL visibility:public superTypes:[<root>.Outer<kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.OuterDerived
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.OuterDerived [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Outer'
|
||||||
|
<T>: kotlin.String
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:OuterDerived modality:FINAL visibility:public superTypes:[<root>.Outer<kotlin.String>]'
|
||||||
|
CLASS CLASS name:InnerDerived modality:FINAL visibility:public [inner] superTypes:[<root>.Outer.Inner<kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.OuterDerived.InnerDerived
|
||||||
|
CONSTRUCTOR visibility:public <> ($this:<root>.OuterDerived) returnType:<root>.OuterDerived.InnerDerived [primary]
|
||||||
|
$outer: VALUE_PARAMETER name:<this> type:<root>.OuterDerived
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Outer.Inner'
|
||||||
|
$this: GET_VAR '<this>: <root>.OuterDerived declared in <root>.OuterDerived' type=<root>.OuterDerived origin=null
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InnerDerived modality:FINAL visibility:public [inner] superTypes:[<root>.Outer.Inner<kotlin.String>]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<T of <root>.Outer>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Outer.Inner
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<T of <root>.Outer>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<T of <root>.Outer>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Outer.Inner
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<T of <root>.Outer>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
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 [operator] 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
|
||||||
|
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 [operator] 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
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
// IGNORE_BACKEND_FIR: ANY
|
||||||
|
// ^ TODO decide if we want to fix KT-42020 for FIR as well
|
||||||
|
|
||||||
|
open class Base<T> {
|
||||||
|
fun foo(x: T) {}
|
||||||
|
fun foo(y: String) {}
|
||||||
|
|
||||||
|
val T.bar get() = 1
|
||||||
|
val String.bar get() = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Derived : Base<String>()
|
||||||
|
|
||||||
|
class Derived2 : Derived()
|
||||||
|
|
||||||
|
fun test(b: Base<String>, d: Derived, d2: Derived2) {
|
||||||
|
b.foo(x = "")
|
||||||
|
b.foo(y = "")
|
||||||
|
d.foo(x = "")
|
||||||
|
d.foo(y = "")
|
||||||
|
d2.foo(x = "")
|
||||||
|
d2.foo(y = "")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
open class BaseXY<X, Y> {
|
||||||
|
fun foo(x: X, y: String) {}
|
||||||
|
fun foo(x: String, y: Y) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
class DerivedXY : BaseXY<String, String>()
|
||||||
|
|
||||||
|
|
||||||
|
fun outerFun() {
|
||||||
|
open class LocalBase<T> {
|
||||||
|
fun foo(x: T) {}
|
||||||
|
fun foo(y: String) {}
|
||||||
|
|
||||||
|
val T.bar get() = 1
|
||||||
|
val String.bar get() = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
open class LocalDerived : LocalBase<String>()
|
||||||
|
|
||||||
|
class LocalDerived2 : LocalDerived()
|
||||||
|
|
||||||
|
fun test(b: LocalBase<String>, d: LocalDerived, d2: LocalDerived2) {
|
||||||
|
b.foo(x = "")
|
||||||
|
b.foo(y = "")
|
||||||
|
d.foo(x = "")
|
||||||
|
d.foo(y = "")
|
||||||
|
d2.foo(x = "")
|
||||||
|
d2.foo(y = "")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
open class Outer<T> {
|
||||||
|
open inner class Inner {
|
||||||
|
fun foo(x: T) {}
|
||||||
|
fun foo(y: String) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class OuterDerived : Outer<String>() {
|
||||||
|
inner class InnerDerived : Inner()
|
||||||
|
}
|
||||||
@@ -0,0 +1,172 @@
|
|||||||
|
open class Base<T : Any?> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*Any*/()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(x: T) {
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(y: String) {
|
||||||
|
}
|
||||||
|
|
||||||
|
val T.bar: Int
|
||||||
|
get(): Int {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
val String.bar: Int
|
||||||
|
get(): Int {
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Derived : Base<String> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*Base*/<String>()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Derived2 : Derived {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*Derived*/()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(b: Base<String>, d: Derived, d2: Derived2) {
|
||||||
|
b.foo(x = "")
|
||||||
|
b.foo(y = "")
|
||||||
|
d.foo(x = "")
|
||||||
|
d.foo(y = "")
|
||||||
|
d2.foo(x = "")
|
||||||
|
d2.foo(y = "")
|
||||||
|
}
|
||||||
|
|
||||||
|
open class BaseXY<X : Any?, Y : Any?> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*Any*/()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(x: X, y: String) {
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(x: String, y: Y) {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class DerivedXY : BaseXY<String, String> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*BaseXY*/<String, String>()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun outerFun() {
|
||||||
|
local open class LocalBase<T : Any?> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*Any*/()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(x: T) {
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(y: String) {
|
||||||
|
}
|
||||||
|
|
||||||
|
val T.bar: Int
|
||||||
|
get(): Int {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
val String.bar: Int
|
||||||
|
get(): Int {
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
local open class LocalDerived : LocalBase<String> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*LocalBase*/<String>()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
local class LocalDerived2 : LocalDerived {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*LocalDerived*/()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
local fun test(b: LocalBase<String>, d: LocalDerived, d2: LocalDerived2) {
|
||||||
|
b.foo(x = "")
|
||||||
|
b.foo(y = "")
|
||||||
|
d.foo(x = "")
|
||||||
|
d.foo(y = "")
|
||||||
|
d2.foo(x = "")
|
||||||
|
d2.foo(y = "")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
open class Outer<T : Any?> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*Any*/()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
open inner class Inner {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*Any*/()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(x: T) {
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(y: String) {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class OuterDerived : Outer<String> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
super/*Outer*/<String>()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
inner class InnerDerived : Inner<String> {
|
||||||
|
constructor() /* primary */ {
|
||||||
|
<this>.super/*Inner*/()
|
||||||
|
/* <init>() */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,474 @@
|
|||||||
|
FILE fqName:<root> fileName:/clashingFakeOverrideSignatures.kt
|
||||||
|
CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Base<T of <root>.Base> [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, x:T of <root>.Base) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:T of <root>.Base
|
||||||
|
BLOCK_BODY
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, y:kotlin.String) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, $receiver:T of <root>.Base) returnType:kotlin.Int
|
||||||
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.Base
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): kotlin.Int declared in <root>.Base'
|
||||||
|
CONST Int type=kotlin.Int value=1
|
||||||
|
PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>, $receiver:kotlin.String) returnType:kotlin.Int
|
||||||
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): kotlin.Int declared in <root>.Base'
|
||||||
|
CONST Int type=kotlin.Int value=2
|
||||||
|
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 [operator] 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:Derived modality:OPEN visibility:public superTypes:[<root>.Base<kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Derived [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Base'
|
||||||
|
<T>: kotlin.String
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:OPEN visibility:public superTypes:[<root>.Base<kotlin.String>]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Base<kotlin.String>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: T of <root>.Base): kotlin.Unit declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Base<kotlin.String>, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<kotlin.String>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<kotlin.String>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<kotlin.String>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<kotlin.String>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
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 [fake_override,operator] 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 [fake_override] 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 [fake_override] declared in <root>.Base
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[<root>.Derived]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived2
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Derived2 [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Derived'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[<root>.Derived]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Base<kotlin.String>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.Derived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Base<kotlin.String>, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit [fake_override] declared in <root>.Derived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<kotlin.String>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int [fake_override] declared in <root>.Derived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<kotlin.String>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Base<kotlin.String>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int [fake_override] declared in <root>.Derived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Base<kotlin.String>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
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 [fake_override,operator] declared in <root>.Derived
|
||||||
|
$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 [fake_override] declared in <root>.Derived
|
||||||
|
$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 [fake_override] declared in <root>.Derived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN name:test visibility:public modality:FINAL <> (b:<root>.Base<kotlin.String>, d:<root>.Derived, d2:<root>.Derived2) returnType:kotlin.Unit
|
||||||
|
VALUE_PARAMETER name:b index:0 type:<root>.Base<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:d index:1 type:<root>.Derived
|
||||||
|
VALUE_PARAMETER name:d2 index:2 type:<root>.Derived2
|
||||||
|
BLOCK_BODY
|
||||||
|
CALL 'public final fun foo (x: T of <root>.Base): kotlin.Unit declared in <root>.Base' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'b: <root>.Base<kotlin.String> declared in <root>.test' type=<root>.Base<kotlin.String> origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Base' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'b: <root>.Base<kotlin.String> declared in <root>.test' type=<root>.Base<kotlin.String> origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.Derived' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd: <root>.Derived declared in <root>.test' type=<root>.Derived origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit [fake_override] declared in <root>.Derived' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd: <root>.Derived declared in <root>.test' type=<root>.Derived origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.Derived2' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd2: <root>.Derived2 declared in <root>.test' type=<root>.Derived2 origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit [fake_override] declared in <root>.Derived2' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd2: <root>.Derived2 declared in <root>.test' type=<root>.Derived2 origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CLASS CLASS name:BaseXY modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>
|
||||||
|
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?]
|
||||||
|
TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?]
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY> [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseXY modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>, x:X of <root>.BaseXY, y:kotlin.String) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:X of <root>.BaseXY
|
||||||
|
VALUE_PARAMETER name:y index:1 type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>, x:kotlin.String, y:Y of <root>.BaseXY) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.BaseXY<X of <root>.BaseXY, Y of <root>.BaseXY>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
VALUE_PARAMETER name:y index:1 type:Y of <root>.BaseXY
|
||||||
|
BLOCK_BODY
|
||||||
|
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 [operator] 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:DerivedXY modality:FINAL visibility:public superTypes:[<root>.BaseXY<kotlin.String, kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DerivedXY
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.DerivedXY [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.BaseXY'
|
||||||
|
<X>: kotlin.String
|
||||||
|
<Y>: kotlin.String
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedXY modality:FINAL visibility:public superTypes:[<root>.BaseXY<kotlin.String, kotlin.String>]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.BaseXY<kotlin.String, kotlin.String>, x:kotlin.String, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: X of <root>.BaseXY, y: kotlin.String): kotlin.Unit declared in <root>.BaseXY
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.BaseXY<kotlin.String, kotlin.String>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
VALUE_PARAMETER name:y index:1 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.BaseXY<kotlin.String, kotlin.String>, x:kotlin.String, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: kotlin.String, y: Y of <root>.BaseXY): kotlin.Unit declared in <root>.BaseXY
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.BaseXY<kotlin.String, kotlin.String>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
VALUE_PARAMETER name:y index:1 type:kotlin.String
|
||||||
|
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 [fake_override,operator] declared in <root>.BaseXY
|
||||||
|
$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 [fake_override] declared in <root>.BaseXY
|
||||||
|
$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 [fake_override] declared in <root>.BaseXY
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN name:outerFun visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
|
BLOCK_BODY
|
||||||
|
CLASS CLASS name:LocalBase modality:OPEN visibility:local superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase> [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalBase modality:OPEN visibility:local superTypes:[kotlin.Any]'
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, x:T of <root>.outerFun.LocalBase) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:T of <root>.outerFun.LocalBase
|
||||||
|
BLOCK_BODY
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, y:kotlin.String) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, $receiver:T of <root>.outerFun.LocalBase) returnType:kotlin.Int
|
||||||
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.outerFun.LocalBase
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase'
|
||||||
|
CONST Int type=kotlin.Int value=1
|
||||||
|
PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>, $receiver:kotlin.String) returnType:kotlin.Int
|
||||||
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<T of <root>.outerFun.LocalBase>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase'
|
||||||
|
CONST Int type=kotlin.Int value=2
|
||||||
|
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 [operator] 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:LocalDerived modality:OPEN visibility:local superTypes:[<root>.outerFun.LocalBase<kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.outerFun.LocalDerived
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.outerFun.LocalDerived [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.outerFun.LocalBase'
|
||||||
|
<T>: kotlin.String
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalDerived modality:OPEN visibility:local superTypes:[<root>.outerFun.LocalBase<kotlin.String>]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<kotlin.String>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: T of <root>.outerFun.LocalBase): kotlin.Unit declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<kotlin.String>, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<kotlin.String>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<kotlin.String>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
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 [fake_override,operator] declared in <root>.outerFun.LocalBase
|
||||||
|
$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 [fake_override] declared in <root>.outerFun.LocalBase
|
||||||
|
$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 [fake_override] declared in <root>.outerFun.LocalBase
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
CLASS CLASS name:LocalDerived2 modality:FINAL visibility:local superTypes:[<root>.outerFun.LocalDerived]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.outerFun.LocalDerived2
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.outerFun.LocalDerived2 [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.outerFun.LocalDerived'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:LocalDerived2 modality:FINAL visibility:local superTypes:[<root>.outerFun.LocalDerived]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<kotlin.String>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.outerFun.LocalDerived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<kotlin.String>, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit [fake_override] declared in <root>.outerFun.LocalDerived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<kotlin.String>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int [fake_override] declared in <root>.outerFun.LocalDerived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.outerFun.LocalBase<kotlin.String>, $receiver:kotlin.String) returnType:kotlin.Int [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:FINAL [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public final fun <get-bar> (): kotlin.Int [fake_override] declared in <root>.outerFun.LocalDerived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
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 [fake_override,operator] declared in <root>.outerFun.LocalDerived
|
||||||
|
$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 [fake_override] declared in <root>.outerFun.LocalDerived
|
||||||
|
$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 [fake_override] declared in <root>.outerFun.LocalDerived
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN name:test visibility:local modality:FINAL <> (b:<root>.outerFun.LocalBase<kotlin.String>, d:<root>.outerFun.LocalDerived, d2:<root>.outerFun.LocalDerived2) returnType:kotlin.Unit
|
||||||
|
VALUE_PARAMETER name:b index:0 type:<root>.outerFun.LocalBase<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:d index:1 type:<root>.outerFun.LocalDerived
|
||||||
|
VALUE_PARAMETER name:d2 index:2 type:<root>.outerFun.LocalDerived2
|
||||||
|
BLOCK_BODY
|
||||||
|
CALL 'public final fun foo (x: T of <root>.outerFun.LocalBase): kotlin.Unit declared in <root>.outerFun.LocalBase' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'b: <root>.outerFun.LocalBase<kotlin.String> declared in <root>.outerFun.test' type=<root>.outerFun.LocalBase<kotlin.String> origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.outerFun.LocalBase' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'b: <root>.outerFun.LocalBase<kotlin.String> declared in <root>.outerFun.test' type=<root>.outerFun.LocalBase<kotlin.String> origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.outerFun.LocalDerived' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd: <root>.outerFun.LocalDerived declared in <root>.outerFun.test' type=<root>.outerFun.LocalDerived origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit [fake_override] declared in <root>.outerFun.LocalDerived' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd: <root>.outerFun.LocalDerived declared in <root>.outerFun.test' type=<root>.outerFun.LocalDerived origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (x: kotlin.String): kotlin.Unit [fake_override] declared in <root>.outerFun.LocalDerived2' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd2: <root>.outerFun.LocalDerived2 declared in <root>.outerFun.test' type=<root>.outerFun.LocalDerived2 origin=null
|
||||||
|
x: CONST String type=kotlin.String value=""
|
||||||
|
CALL 'public final fun foo (y: kotlin.String): kotlin.Unit [fake_override] declared in <root>.outerFun.LocalDerived2' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_VAR 'd2: <root>.outerFun.LocalDerived2 declared in <root>.outerFun.test' type=<root>.outerFun.LocalDerived2 origin=null
|
||||||
|
y: CONST String type=kotlin.String value=""
|
||||||
|
CLASS CLASS name:Outer modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer<T of <root>.Outer>
|
||||||
|
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer<T of <root>.Outer> [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||||
|
CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer.Inner<T of <root>.Outer>
|
||||||
|
CONSTRUCTOR visibility:public <> ($this:<root>.Outer<T of <root>.Outer>) returnType:<root>.Outer.Inner<T of <root>.Outer> [primary]
|
||||||
|
$outer: VALUE_PARAMETER name:<this> type:<root>.Outer<T of <root>.Outer>
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:OPEN visibility:public [inner] superTypes:[kotlin.Any]'
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<T of <root>.Outer>, x:T of <root>.Outer) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<T of <root>.Outer>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:T of <root>.Outer
|
||||||
|
BLOCK_BODY
|
||||||
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<T of <root>.Outer>, y:kotlin.String) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<T of <root>.Outer>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
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 [operator] 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
|
||||||
|
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 [operator] 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:OuterDerived modality:FINAL visibility:public superTypes:[<root>.Outer<kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.OuterDerived
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.OuterDerived [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Outer'
|
||||||
|
<T>: kotlin.String
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:OuterDerived modality:FINAL visibility:public superTypes:[<root>.Outer<kotlin.String>]'
|
||||||
|
CLASS CLASS name:InnerDerived modality:FINAL visibility:public [inner] superTypes:[<root>.Outer.Inner<kotlin.String>]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.OuterDerived.InnerDerived
|
||||||
|
CONSTRUCTOR visibility:public <> ($this:<root>.OuterDerived) returnType:<root>.OuterDerived.InnerDerived [primary]
|
||||||
|
$outer: VALUE_PARAMETER name:<this> type:<root>.OuterDerived
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Outer.Inner'
|
||||||
|
$this: GET_VAR '<this>: <root>.OuterDerived declared in <root>.OuterDerived.InnerDerived.<init>' type=<root>.OuterDerived origin=null
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InnerDerived modality:FINAL visibility:public [inner] superTypes:[<root>.Outer.Inner<kotlin.String>]'
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<kotlin.String>, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (x: T of <root>.Outer): kotlin.Unit declared in <root>.Outer.Inner
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<kotlin.String>, y:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun foo (y: kotlin.String): kotlin.Unit declared in <root>.Outer.Inner
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<kotlin.String>
|
||||||
|
VALUE_PARAMETER name:y index:0 type:kotlin.String
|
||||||
|
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 [fake_override,operator] declared in <root>.Outer.Inner
|
||||||
|
$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 [fake_override] declared in <root>.Outer.Inner
|
||||||
|
$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 [fake_override] declared in <root>.Outer.Inner
|
||||||
|
$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]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.Outer
|
||||||
|
$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 [fake_override] declared in <root>.Outer
|
||||||
|
$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 [fake_override] declared in <root>.Outer
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
@@ -19,14 +19,19 @@ package org.jetbrains.kotlin.ir
|
|||||||
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor
|
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor
|
||||||
import org.jetbrains.kotlin.backend.jvm.JvmGeneratorExtensions
|
import org.jetbrains.kotlin.backend.jvm.JvmGeneratorExtensions
|
||||||
|
import org.jetbrains.kotlin.backend.jvm.serialization.JvmIdSignatureDescriptor
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
import org.jetbrains.kotlin.codegen.CodegenTestCase
|
import org.jetbrains.kotlin.codegen.CodegenTestCase
|
||||||
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
import org.jetbrains.kotlin.config.languageVersionSettings
|
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||||
|
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
||||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
|
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
|
||||||
|
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmManglerDesc
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
import org.jetbrains.kotlin.ir.declarations.IrFile
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignatureComposer
|
||||||
import org.jetbrains.kotlin.ir.util.NameProvider
|
import org.jetbrains.kotlin.ir.util.NameProvider
|
||||||
import org.jetbrains.kotlin.ir.util.SymbolTable
|
import org.jetbrains.kotlin.ir.util.SymbolTable
|
||||||
import org.jetbrains.kotlin.ir.util.generateTypicalIrProviderList
|
import org.jetbrains.kotlin.ir.util.generateTypicalIrProviderList
|
||||||
@@ -36,11 +41,11 @@ import org.jetbrains.kotlin.psi2ir.Psi2IrConfiguration
|
|||||||
import org.jetbrains.kotlin.psi2ir.Psi2IrTranslator
|
import org.jetbrains.kotlin.psi2ir.Psi2IrTranslator
|
||||||
import org.jetbrains.kotlin.psi2ir.generators.GeneratorExtensions
|
import org.jetbrains.kotlin.psi2ir.generators.GeneratorExtensions
|
||||||
import org.jetbrains.kotlin.resolve.AnalyzingUtils
|
import org.jetbrains.kotlin.resolve.AnalyzingUtils
|
||||||
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
|
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils.getAnnotationsJar
|
import org.jetbrains.kotlin.test.KotlinTestUtils.getAnnotationsJar
|
||||||
import org.jetbrains.kotlin.test.TargetBackend
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -95,7 +100,12 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected open fun doGenerateIrModule(psi2IrTranslator: Psi2IrTranslator): IrModuleFragment =
|
protected open fun doGenerateIrModule(psi2IrTranslator: Psi2IrTranslator): IrModuleFragment =
|
||||||
generateIrModuleWithJvmResolve(myFiles.psiFiles, myEnvironment, psi2IrTranslator)
|
generateIrModuleWithJvmResolve(
|
||||||
|
myFiles.psiFiles,
|
||||||
|
myEnvironment,
|
||||||
|
psi2IrTranslator,
|
||||||
|
myEnvironment.configuration.languageVersionSettings
|
||||||
|
)
|
||||||
|
|
||||||
protected fun generateIrFilesAsSingleModule(testFiles: List<TestFile>, ignoreErrors: Boolean = false): Map<TestFile, IrFile> {
|
protected fun generateIrFilesAsSingleModule(testFiles: List<TestFile>, ignoreErrors: Boolean = false): Map<TestFile, IrFile> {
|
||||||
val irModule = generateIrModule(ignoreErrors)
|
val irModule = generateIrModule(ignoreErrors)
|
||||||
@@ -118,22 +128,31 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
|
|||||||
moduleDescriptors = emptyList(),
|
moduleDescriptors = emptyList(),
|
||||||
friendModuleDescriptors = emptyList()
|
friendModuleDescriptors = emptyList()
|
||||||
),
|
),
|
||||||
psi2ir, ktFilesToAnalyze, GeneratorExtensions()
|
psi2ir, ktFilesToAnalyze, GeneratorExtensions(),
|
||||||
|
createIdSignatureComposer = { IdSignatureDescriptor(JsManglerDesc) }
|
||||||
)
|
)
|
||||||
|
|
||||||
fun generateIrModuleWithJvmResolve(
|
fun generateIrModuleWithJvmResolve(
|
||||||
ktFilesToAnalyze: List<KtFile>, environment: KotlinCoreEnvironment, psi2ir: Psi2IrTranslator
|
ktFilesToAnalyze: List<KtFile>,
|
||||||
): IrModuleFragment =
|
environment: KotlinCoreEnvironment,
|
||||||
generateIrModule(
|
psi2ir: Psi2IrTranslator,
|
||||||
|
languageVersionSettings: LanguageVersionSettings
|
||||||
|
): IrModuleFragment {
|
||||||
|
return generateIrModule(
|
||||||
JvmResolveUtil.analyze(ktFilesToAnalyze, environment), psi2ir, ktFilesToAnalyze,
|
JvmResolveUtil.analyze(ktFilesToAnalyze, environment), psi2ir, ktFilesToAnalyze,
|
||||||
JvmGeneratorExtensions(generateFacades = false)
|
JvmGeneratorExtensions(generateFacades = false),
|
||||||
|
createIdSignatureComposer = { bindingContext ->
|
||||||
|
JvmIdSignatureDescriptor(JvmManglerDesc(MainFunctionDetector(bindingContext, languageVersionSettings)))
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
private fun generateIrModule(
|
private fun generateIrModule(
|
||||||
analysisResult: AnalysisResult,
|
analysisResult: AnalysisResult,
|
||||||
psi2ir: Psi2IrTranslator,
|
psi2ir: Psi2IrTranslator,
|
||||||
ktFilesToAnalyze: List<KtFile>,
|
ktFilesToAnalyze: List<KtFile>,
|
||||||
generatorExtensions: GeneratorExtensions
|
generatorExtensions: GeneratorExtensions,
|
||||||
|
createIdSignatureComposer: (BindingContext) -> IdSignatureComposer
|
||||||
): IrModuleFragment {
|
): IrModuleFragment {
|
||||||
val (bindingContext, moduleDescriptor) = analysisResult
|
val (bindingContext, moduleDescriptor) = analysisResult
|
||||||
if (!psi2ir.configuration.ignoreErrors) {
|
if (!psi2ir.configuration.ignoreErrors) {
|
||||||
@@ -143,7 +162,8 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
|
|||||||
val context = psi2ir.createGeneratorContext(
|
val context = psi2ir.createGeneratorContext(
|
||||||
moduleDescriptor,
|
moduleDescriptor,
|
||||||
bindingContext,
|
bindingContext,
|
||||||
SymbolTable(IdSignatureDescriptor(JsManglerDesc), IrFactoryImpl, NameProvider.DEFAULT),
|
// SymbolTable(IdSignatureDescriptor(JsManglerDesc), IrFactoryImpl, NameProvider.DEFAULT),
|
||||||
|
SymbolTable(createIdSignatureComposer(bindingContext), IrFactoryImpl, NameProvider.DEFAULT),
|
||||||
generatorExtensions
|
generatorExtensions
|
||||||
)
|
)
|
||||||
val irProviders = generateTypicalIrProviderList(
|
val irProviders = generateTypicalIrProviderList(
|
||||||
|
|||||||
+5
@@ -15937,6 +15937,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
runTest("compiler/testData/codegen/box/ir/anonymousObjectInsideElvis.kt");
|
runTest("compiler/testData/codegen/box/ir/anonymousObjectInsideElvis.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/ir/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInitializers.kt")
|
@TestMetadata("classInitializers.kt")
|
||||||
public void testClassInitializers() throws Exception {
|
public void testClassInitializers() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/ir/classInitializers.kt");
|
runTest("compiler/testData/codegen/box/ir/classInitializers.kt");
|
||||||
|
|||||||
Generated
+5
@@ -53,6 +53,11 @@ public class CompileKotlinAgainstKotlinTestGenerated extends AbstractCompileKotl
|
|||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/compileKotlinAgainstKotlin/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInObject.kt")
|
@TestMetadata("classInObject.kt")
|
||||||
public void testClassInObject() throws Exception {
|
public void testClassInObject() throws Exception {
|
||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
||||||
|
|||||||
+5
@@ -15937,6 +15937,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
|||||||
runTest("compiler/testData/codegen/box/ir/anonymousObjectInsideElvis.kt");
|
runTest("compiler/testData/codegen/box/ir/anonymousObjectInsideElvis.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/ir/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInitializers.kt")
|
@TestMetadata("classInitializers.kt")
|
||||||
public void testClassInitializers() throws Exception {
|
public void testClassInitializers() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/ir/classInitializers.kt");
|
runTest("compiler/testData/codegen/box/ir/classInitializers.kt");
|
||||||
|
|||||||
+5
@@ -15937,6 +15937,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
|||||||
runTest("compiler/testData/codegen/box/ir/anonymousObjectInsideElvis.kt");
|
runTest("compiler/testData/codegen/box/ir/anonymousObjectInsideElvis.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/ir/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInitializers.kt")
|
@TestMetadata("classInitializers.kt")
|
||||||
public void testClassInitializers() throws Exception {
|
public void testClassInitializers() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/ir/classInitializers.kt");
|
runTest("compiler/testData/codegen/box/ir/classInitializers.kt");
|
||||||
|
|||||||
Generated
+5
@@ -54,6 +54,11 @@ public class IrCompileKotlinAgainstKotlinTestGenerated extends AbstractIrCompile
|
|||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/compileKotlinAgainstKotlin/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInObject.kt")
|
@TestMetadata("classInObject.kt")
|
||||||
public void testClassInObject() throws Exception {
|
public void testClassInObject() throws Exception {
|
||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
||||||
|
|||||||
+5
@@ -54,6 +54,11 @@ public class JvmIrAgainstOldBoxTestGenerated extends AbstractJvmIrAgainstOldBoxT
|
|||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/compileKotlinAgainstKotlin/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInObject.kt")
|
@TestMetadata("classInObject.kt")
|
||||||
public void testClassInObject() throws Exception {
|
public void testClassInObject() throws Exception {
|
||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
||||||
|
|||||||
+5
@@ -54,6 +54,11 @@ public class JvmOldAgainstIrBoxTestGenerated extends AbstractJvmOldAgainstIrBoxT
|
|||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/callsToMultifileClassFromOtherPackage.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/compileKotlinAgainstKotlin/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classInObject.kt")
|
@TestMetadata("classInObject.kt")
|
||||||
public void testClassInObject() throws Exception {
|
public void testClassInObject() throws Exception {
|
||||||
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
runTest("compiler/testData/compileKotlinAgainstKotlin/classInObject.kt");
|
||||||
|
|||||||
@@ -55,6 +55,11 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
|
|||||||
runTest("compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.kt");
|
runTest("compiler/testData/ir/irText/classes/argumentReorderingInDelegatingConstructorCall.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("clashingFakeOverrideSignatures.kt")
|
||||||
|
public void testClashingFakeOverrideSignatures() throws Exception {
|
||||||
|
runTest("compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classMembers.kt")
|
@TestMetadata("classMembers.kt")
|
||||||
public void testClassMembers() throws Exception {
|
public void testClassMembers() throws Exception {
|
||||||
runTest("compiler/testData/ir/irText/classes/classMembers.kt");
|
runTest("compiler/testData/ir/irText/classes/classMembers.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user