[FIR] Properly collect overriddens for method enhancement

If some java class has multiple supertypes then we need to collect
  overriddens from all those types directly, even if superTypeScope
  (which is FirTypeIntersectionScope in this case) returns only
  one symbol from one of this types (not intersection one)

This is needed to proper enhancement in cases when some type occurs
  multiple times in supertypes graph with different nullability
  of arguments:

class ConcurrentHashMap<K, V> : AbstractMap<K!, V!>, MutableMap<K, V>

If we try to find method `get(key: K): V` supertype scope returns
  `AbstractMap.get(key: K!): V!` (because it actually overrides
  `MutableMap(key: K): V?`), but we need to get both symbols to
  properly enhance types for `ConcurrentHashMap.remove`
This commit is contained in:
Dmitriy Novozhilov
2021-11-19 18:16:07 +03:00
parent 01c0cf80d0
commit 9807c67ae4
42 changed files with 393 additions and 301 deletions
@@ -17339,6 +17339,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
runTest("compiler/testData/diagnostics/tests/j+k/protectedStaticSamePackage.kt"); runTest("compiler/testData/diagnostics/tests/j+k/protectedStaticSamePackage.kt");
} }
@Test
@TestMetadata("purelyImplementedSupertype.kt")
public void testPurelyImplementedSupertype() throws Exception {
runTest("compiler/testData/diagnostics/tests/j+k/purelyImplementedSupertype.kt");
}
@Test @Test
@TestMetadata("rawOverride.kt") @TestMetadata("rawOverride.kt")
public void testRawOverride() throws Exception { public void testRawOverride() throws Exception {
@@ -7,7 +7,7 @@ FILE: KotlinImporterComponent.kt
} }
public final class State : R|kotlin/Any| { public final class State : R|kotlin/Any| {
public constructor(directories: R|kotlin/collections/List<kotlin/String>| = R|java/util/ArrayList.ArrayList|<R|ft<kotlin/String, kotlin/String?>|>()): R|simulation/KotlinImporterComponent.State| { public constructor(directories: R|kotlin/collections/List<kotlin/String>| = R|java/util/ArrayList.ArrayList|<R|kotlin/String|>()): R|simulation/KotlinImporterComponent.State| {
super<R|kotlin/Any|>() super<R|kotlin/Any|>()
} }
@@ -16,10 +16,10 @@ FILE: simpleDelegatedToMap.kt
} }
} }
public final var bar: R|ft<kotlin/Any, kotlin/Any?>|by R|kotlin/collections/hashMapOf|<R|kotlin/String|, R|kotlin/Any|>() public final var bar: R|kotlin/Any|by R|kotlin/collections/hashMapOf|<R|kotlin/String|, R|kotlin/Any|>()
public get(): R|ft<kotlin/Any, kotlin/Any?>| { public get(): R|kotlin/Any| {
^ D|/bar|.R|kotlin/collections/getValue|<R|ft<kotlin/Any, kotlin/Any?>|, R|ft<kotlin/Any, kotlin/Any?>|>(Null(null), ::R|/bar|) ^ D|/bar|.R|kotlin/collections/getValue|<R|kotlin/Any|, R|kotlin/Any|>(Null(null), ::R|/bar|)
} }
public set(<set-?>: R|ft<kotlin/Any, kotlin/Any?>|): R|kotlin/Unit| { public set(<set-?>: R|kotlin/Any|): R|kotlin/Unit| {
D|/bar|.R|kotlin/collections/setValue|<R|ft<kotlin/Any, kotlin/Any?>|>(Null(null), ::R|/bar|, R|<local>/bar|) D|/bar|.R|kotlin/collections/setValue|<R|kotlin/Any|>(Null(null), ::R|/bar|, R|<local>/bar|)
} }
@@ -1,10 +1,10 @@
FILE: hashSet.kt FILE: hashSet.kt
public final val a: R|kotlin/collections/MutableSet<kotlin/String>?| = R|java/util/HashSet.HashSet|<R|ft<kotlin/String, kotlin/String?>|>() public final val a: R|kotlin/collections/MutableSet<kotlin/String>?| = R|java/util/HashSet.HashSet|<R|kotlin/String|>()
public get(): R|kotlin/collections/MutableSet<kotlin/String>?| public get(): R|kotlin/collections/MutableSet<kotlin/String>?|
public final var b: R|kotlin/collections/MutableSet<kotlin/String>?| = Null(null) public final var b: R|kotlin/collections/MutableSet<kotlin/String>?| = Null(null)
public get(): R|kotlin/collections/MutableSet<kotlin/String>?| public get(): R|kotlin/collections/MutableSet<kotlin/String>?|
public set(_: R|kotlin/collections/MutableSet<kotlin/String>?|): R|kotlin/Unit| { public set(_: R|kotlin/collections/MutableSet<kotlin/String>?|): R|kotlin/Unit| {
F|/b| = R|java/util/HashSet.HashSet|<R|ft<kotlin/String, kotlin/String?>|>() F|/b| = R|java/util/HashSet.HashSet|<R|kotlin/String|>()
} }
public final var <T> R|kotlin/collections/MutableSet<T>|.d: R|T?| public final var <T> R|kotlin/collections/MutableSet<T>|.d: R|T?|
public get(): R|T?| { public get(): R|T?| {
@@ -17,6 +17,6 @@ FILE: hashSet.kt
} }
public final fun foo(): R|kotlin/Unit| { public final fun foo(): R|kotlin/Unit| {
lvar c: R|kotlin/collections/MutableSet<kotlin/String>?| = Null(null) lvar c: R|kotlin/collections/MutableSet<kotlin/String>?| = Null(null)
R|<local>/c| = R|java/util/HashSet.HashSet|<R|ft<kotlin/String, kotlin/String?>|>() R|<local>/c| = R|java/util/HashSet.HashSet|<R|kotlin/String|>()
R|<local>/c|!!.R|/d| = R|/produce|<R|kotlin/String?|>() R|<local>/c|!!.R|/d| = R|/produce|<R|kotlin/String?|>()
} }
@@ -17339,6 +17339,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
runTest("compiler/testData/diagnostics/tests/j+k/protectedStaticSamePackage.kt"); runTest("compiler/testData/diagnostics/tests/j+k/protectedStaticSamePackage.kt");
} }
@Test
@TestMetadata("purelyImplementedSupertype.kt")
public void testPurelyImplementedSupertype() throws Exception {
runTest("compiler/testData/diagnostics/tests/j+k/purelyImplementedSupertype.kt");
}
@Test @Test
@TestMetadata("rawOverride.kt") @TestMetadata("rawOverride.kt")
public void testRawOverride() throws Exception { public void testRawOverride() throws Exception {
@@ -17339,6 +17339,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
runTest("compiler/testData/diagnostics/tests/j+k/protectedStaticSamePackage.kt"); runTest("compiler/testData/diagnostics/tests/j+k/protectedStaticSamePackage.kt");
} }
@Test
@TestMetadata("purelyImplementedSupertype.kt")
public void testPurelyImplementedSupertype() throws Exception {
runTest("compiler/testData/diagnostics/tests/j+k/purelyImplementedSupertype.kt");
}
@Test @Test
@TestMetadata("rawOverride.kt") @TestMetadata("rawOverride.kt")
public void testRawOverride() throws Exception { public void testRawOverride() throws Exception {
@@ -384,9 +384,6 @@ class FirSignatureEnhancement(
ownerParameter: FirJavaValueParameter, ownerParameter: FirJavaValueParameter,
index: Int index: Int
): FirResolvedTypeRef { ): FirResolvedTypeRef {
if (ownerParameter.returnTypeRef is FirResolvedTypeRef) {
return ownerParameter.returnTypeRef as FirResolvedTypeRef
}
return ownerFunction.enhanceValueParameter( return ownerFunction.enhanceValueParameter(
overriddenMembers, overriddenMembers,
ownerParameter, ownerParameter,
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
import org.jetbrains.kotlin.fir.scopes.FirTypeScope import org.jetbrains.kotlin.fir.scopes.FirTypeScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.impl.FirTypeIntersectionScope
import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
@@ -26,7 +27,7 @@ class JavaClassMembersEnhancementScope(
private val overrideBindCache = mutableMapOf<Name, Map<FirCallableSymbol<*>?, List<FirCallableDeclaration>>>() private val overrideBindCache = mutableMapOf<Name, Map<FirCallableSymbol<*>?, List<FirCallableDeclaration>>>()
private val signatureEnhancement = FirSignatureEnhancement(owner.fir, session) { private val signatureEnhancement = FirSignatureEnhancement(owner.fir, session) {
overriddenMembers(name) overriddenMembersForEnhancement(name)
} }
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) { override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
@@ -64,6 +65,23 @@ class JavaClassMembersEnhancementScope(
return super.processFunctionsByName(name, processor) return super.processFunctionsByName(name, processor)
} }
private fun FirCallableDeclaration.overriddenMembersForEnhancement(name: Name): List<FirCallableDeclaration> {
val directlyOverriddensFromScopeFir = overriddenMembers(name)
val superTypesScope = useSiteMemberScope.superTypesScope as? FirTypeIntersectionScope ?: return directlyOverriddensFromScopeFir
val directlyOverriddensFromScope = directlyOverriddensFromScopeFir.map { it.symbol }
val result = mutableSetOf<FirCallableSymbol<*>>()
for (intersectedOverriddenSymbol in directlyOverriddensFromScope) {
val newOverriddens = superTypesScope.getDirectOverriddenSymbols(intersectedOverriddenSymbol).map { it.member }
if (newOverriddens.isNotEmpty()) {
result += newOverriddens
} else {
result += intersectedOverriddenSymbol
}
}
return result.map { it.fir }
}
private fun FirCallableDeclaration.overriddenMembers(name: Name): List<FirCallableDeclaration> { private fun FirCallableDeclaration.overriddenMembers(name: Name): List<FirCallableDeclaration> {
val backMap = overrideBindCache.getOrPut(name) { val backMap = overrideBindCache.getOrPut(name) {
val result = mutableMapOf<FirCallableSymbol<*>?, MutableList<FirCallableDeclaration>>() val result = mutableMapOf<FirCallableSymbol<*>?, MutableList<FirCallableDeclaration>>()
@@ -19,7 +19,7 @@ abstract class AbstractFirUseSiteMemberScope(
val classId: ClassId, val classId: ClassId,
session: FirSession, session: FirSession,
overrideChecker: FirOverrideChecker, overrideChecker: FirOverrideChecker,
protected val superTypesScope: FirTypeScope, val superTypesScope: FirTypeScope,
protected val declaredMemberScope: FirContainingNamesAwareScope protected val declaredMemberScope: FirContainingNamesAwareScope
) : AbstractFirOverrideScope(session, overrideChecker) { ) : AbstractFirOverrideScope(session, overrideChecker) {
@@ -159,8 +159,7 @@ class FirTypeIntersectionScope private constructor(
}.withScope(scopeForMostSpecific) }.withScope(scopeForMostSpecific)
} }
private fun <S : FirCallableSymbol<*>> private fun <S : FirCallableSymbol<*>> List<MemberWithBaseScope<S>>.calcBaseMembersForIntersectionOverride(): List<MemberWithBaseScope<S>> {
MutableList<MemberWithBaseScope<S>>.calcBaseMembersForIntersectionOverride(): List<MemberWithBaseScope<S>> {
if (size == 1) return this if (size == 1) return this
val unwrappedMemberSet = mutableSetOf<MemberWithBaseScope<S>>() val unwrappedMemberSet = mutableSetOf<MemberWithBaseScope<S>>()
for ((member, scope) in this) { for ((member, scope) in this) {
@@ -195,8 +194,9 @@ class FirTypeIntersectionScope private constructor(
} }
} }
} }
removeIf { (member, _) -> member.fir.unwrapSubstitutionOverrides().symbol in baseMembers } val result = this.toMutableList()
return this result.removeIf { (member, _) -> member.fir.unwrapSubstitutionOverrides().symbol in baseMembers }
return result
} }
private fun <D : FirCallableSymbol<*>> chooseIntersectionOverrideModality( private fun <D : FirCallableSymbol<*>> chooseIntersectionOverrideModality(
@@ -514,7 +514,7 @@ class FirTypeIntersectionScope private constructor(
} }
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
private fun <S : FirCallableSymbol<*>> getDirectOverriddenSymbols(symbol: S): Collection<MemberWithBaseScope<S>> { fun <S : FirCallableSymbol<*>> getDirectOverriddenSymbols(symbol: S): Collection<MemberWithBaseScope<S>> {
val intersectionOverride = intersectionOverrides.getValueIfComputed(symbol) val intersectionOverride = intersectionOverrides.getValueIfComputed(symbol)
val allDirectOverridden = overriddenSymbols[symbol].orEmpty() + intersectionOverride?.let { val allDirectOverridden = overriddenSymbols[symbol].orEmpty() + intersectionOverride?.let {
overriddenSymbols[it.member] overriddenSymbols[it.member]
@@ -1,9 +0,0 @@
interface A
interface B: A
interface D
interface BaseSuper<out T>
interface BaseImpl: BaseSuper<D>
interface DerivedSuper<out S>: <!INCONSISTENT_TYPE_PARAMETER_VALUES!>BaseSuper<S>, BaseImpl<!>
fun test(t: BaseSuper<B>) = t is <!CANNOT_CHECK_FOR_ERASED!>DerivedSuper<A><!>
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
interface A interface A
interface B: A interface B: A
interface D interface D
@@ -0,0 +1,29 @@
// FULL_JDK
// FILE: Util.java
public class Util {
public static String getString() { return null; }
}
// FILE: main.kt
import java.util.concurrent.ConcurrentHashMap
fun testWithMap(map: ConcurrentHashMap<Int, String>): Int {
var string = map[1]
if (string == null) {
string = map.computeIfAbsent(1) { "hello" }
}
return string.length
}
fun testWithUtil(map: ConcurrentHashMap<Int, String>): Int {
var string = map[1]
if (string == null) {
string = Util.getString()
}
return string<!UNSAFE_CALL!>.<!>length
}
fun test(list: java.util.ArrayList<String?>) {
val x = list.get(0)<!UNSAFE_CALL!>.<!>length
}
@@ -0,0 +1,29 @@
// FULL_JDK
// FILE: Util.java
public class Util {
public static String getString() { return null; }
}
// FILE: main.kt
import java.util.concurrent.ConcurrentHashMap
fun testWithMap(map: ConcurrentHashMap<Int, String>): Int {
var string = map[1]
if (string == null) {
string = map.computeIfAbsent(1) { "hello" }
}
return <!DEBUG_INFO_SMARTCAST!>string<!>.length
}
fun testWithUtil(map: ConcurrentHashMap<Int, String>): Int {
var string = map[1]
if (string == null) {
string = Util.getString()
}
return string<!UNSAFE_CALL!>.<!>length
}
fun test(list: java.util.ArrayList<String?>) {
val x = list.get(0)<!UNSAFE_CALL!>.<!>length
}
@@ -0,0 +1,15 @@
package
public fun test(/*0*/ list: java.util.ArrayList<kotlin.String?>): kotlin.Unit
public fun testWithMap(/*0*/ map: java.util.concurrent.ConcurrentHashMap<kotlin.Int, kotlin.String>): kotlin.Int
public fun testWithUtil(/*0*/ map: java.util.concurrent.ConcurrentHashMap<kotlin.Int, kotlin.String>): kotlin.Int
public open class Util {
public constructor Util()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun getString(): kotlin.String!
}
@@ -0,0 +1,16 @@
interface A {
fun foo() {}
}
interface B : A {
abstract override fun foo()
}
interface C : A {
abstract override fun foo()
}
interface D : A
// Fake override Z#foo should be abstract
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class Z<!> : B, C, D
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
interface A { interface A {
fun foo() {} fun foo() {}
} }
@@ -1,28 +0,0 @@
// FILE: A.java
import org.jetbrains.annotations.NotNull;
public interface A<T> {
void foo(@NotNull T x);
}
// FILE: B.java
public class B<E> {
public void foo(E x) {}
}
// FILE: C.java
public class C<F> extends B<F> implements A<F> {
public static C<String> create() { return null; }
public void foo(F x) {}
}
// FILE: main.kt
fun test() {
C.create().foo(null)
C.create().foo("")
C<String>().foo(null)
C<String?>().foo(null)
C<String?>().foo("")
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java // FILE: A.java
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1,10 +0,0 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
interface X<T>
interface A: X<String>
interface B : <!INCONSISTENT_TYPE_PARAMETER_VALUES!>A, X<Int><!>
fun foo(x: B) {
// Checks that when checking subtypes we search closes corresponding constructor (e.g. with BFS)
val y: X<Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_VARIABLE
interface X<T> interface X<T>
@@ -20,11 +20,11 @@ fun test(b: B, c: C, d: D, e: E) {
eatAString(b) eatAString(b)
eatAString(c) eatAString(c)
eatAString(d) eatAString(d)
eatAString(e) eatAString(<!ARGUMENT_TYPE_MISMATCH!>e<!>)
eatAStringN(b) eatAStringN(b)
eatAStringN(c) eatAStringN(c)
eatAStringN(d) eatAStringN(<!ARGUMENT_TYPE_MISMATCH!>d<!>)
eatAStringN(e) eatAStringN(e)
} }
@@ -39,4 +39,4 @@ class W: B(), Z
fun test2(w: W) { fun test2(w: W) {
eatAString(w) eatAString(w)
eatAStringN(<!ARGUMENT_TYPE_MISMATCH!>w<!>) eatAStringN(<!ARGUMENT_TYPE_MISMATCH!>w<!>)
} }
@@ -39,4 +39,4 @@ class W: B(), Z
fun test2(w: W) { fun test2(w: W) {
eatAString(w) eatAString(w)
eatAStringN(<!TYPE_MISMATCH!>w<!>) eatAStringN(<!TYPE_MISMATCH!>w<!>)
} }
@@ -16,6 +16,6 @@ fun foo() {
concurrent.remove(null, null) concurrent.remove(null, null)
// @PurelyImplements // @PurelyImplements
concurrentHash.remove(null, 1) concurrentHash.remove(<!NULL_FOR_NONNULL_TYPE!>null<!>, 1)
concurrentHash.remove(null, null) concurrentHash.remove(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
} }
@@ -22,7 +22,7 @@ fun foo(x: MutableMap<String, Int>, y: java.util.HashMap<String, Int>, z: java.u
y.remove("", 1) y.remove("", 1)
y.remove("", <!ARGUMENT_TYPE_MISMATCH!>""<!>) y.remove("", <!ARGUMENT_TYPE_MISMATCH!>""<!>)
y.remove("", null) y.remove("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
z.remove("", 1) z.remove("", 1)
z.remove("", <!ARGUMENT_TYPE_MISMATCH!>""<!>) z.remove("", <!ARGUMENT_TYPE_MISMATCH!>""<!>)
@@ -9,20 +9,20 @@ val nullableInt: Int? = null
fun hashMapTest() { fun hashMapTest() {
var x: HashMap<String, Int> = HashMap<String, Int>() var x: HashMap<String, Int> = HashMap<String, Int>()
x.put(null, null) x.put(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put("", null) x.put("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put(bar(), 1) x.put(<!ARGUMENT_TYPE_MISMATCH!>bar()<!>, 1)
x.put("", 1) x.put("", 1)
x[null] = 1 x[<!NULL_FOR_NONNULL_TYPE!>null<!>] = 1
x[bar()] = 1 x[<!ARGUMENT_TYPE_MISMATCH!>bar()<!>] = 1
x[""] = nullableInt x[""] = <!ARGUMENT_TYPE_MISMATCH!>nullableInt<!>
x[""] = 1 x[""] = 1
val b1: MutableMap<String, Int?> = x val b1: MutableMap<String, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b2: MutableMap<String, Int> = x val b2: MutableMap<String, Int> = x
val b3: Map<String?, Int> = x val b3: Map<String?, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b4: Map<String?, Int?> = x val b4: Map<String?, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b5: Map<String, Int?> = x val b5: Map<String, Int?> = x
val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!> val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!>
@@ -33,20 +33,20 @@ fun hashMapTest() {
fun treeMapTest() { fun treeMapTest() {
var x: TreeMap<String, Int> = TreeMap<String, Int>() var x: TreeMap<String, Int> = TreeMap<String, Int>()
x.put(null, null) x.put(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put("", null) x.put("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put(bar(), 1) x.put(<!ARGUMENT_TYPE_MISMATCH!>bar()<!>, 1)
x.put("", 1) x.put("", 1)
x[null] = 1 x[<!NULL_FOR_NONNULL_TYPE!>null<!>] = 1
x[bar()] = 1 x[<!ARGUMENT_TYPE_MISMATCH!>bar()<!>] = 1
x[""] = nullableInt x[""] = <!ARGUMENT_TYPE_MISMATCH!>nullableInt<!>
x[""] = 1 x[""] = 1
val b1: MutableMap<String, Int?> = x val b1: MutableMap<String, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b2: MutableMap<String, Int> = x val b2: MutableMap<String, Int> = x
val b3: Map<String?, Int> = x val b3: Map<String?, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b4: Map<String?, Int?> = x val b4: Map<String?, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b5: Map<String, Int?> = x val b5: Map<String, Int?> = x
val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!> val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!>
@@ -57,20 +57,20 @@ fun treeMapTest() {
fun concurrentHashMapTest() { fun concurrentHashMapTest() {
var x: ConcurrentHashMap<String, Int> = ConcurrentHashMap<String, Int>() var x: ConcurrentHashMap<String, Int> = ConcurrentHashMap<String, Int>()
x.put(null, null) x.put(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put("", null) x.put("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put(bar(), 1) x.put(<!ARGUMENT_TYPE_MISMATCH!>bar()<!>, 1)
x.put("", 1) x.put("", 1)
x[null] = 1 x[<!NULL_FOR_NONNULL_TYPE!>null<!>] = 1
x[bar()] = 1 x[<!ARGUMENT_TYPE_MISMATCH!>bar()<!>] = 1
x[""] = nullableInt x[""] = <!ARGUMENT_TYPE_MISMATCH!>nullableInt<!>
x[""] = 1 x[""] = 1
val b1: MutableMap<String, Int?> = x val b1: MutableMap<String, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b2: MutableMap<String, Int> = x val b2: MutableMap<String, Int> = x
val b3: Map<String?, Int> = x val b3: Map<String?, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b4: Map<String?, Int?> = x val b4: Map<String?, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b5: Map<String, Int?> = x val b5: Map<String, Int?> = x
val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!> val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!>
@@ -8,17 +8,18 @@ val nullableInt: Int? = null
fun hashMapTest() { fun hashMapTest() {
var x: HashMap<String?, Int> = HashMap<String?, Int>() var x: HashMap<String?, Int> = HashMap<String?, Int>()
x.put(null, null) x.put(null, <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put("", null) x.put("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put(bar(), 1) x.put(bar(), 1)
x.put("", 1) x.put("", 1)
x[null] = 1 x[null] = 1
x[bar()] = 1 x[bar()] = 1
x[""] = nullableInt x[""] = <!ARGUMENT_TYPE_MISMATCH!>nullableInt<!>
x[""] = 1 x[""] = 1
x[""] = <!NULL_FOR_NONNULL_TYPE!>null<!>
val b1: MutableMap<String?, Int?> = x val b1: MutableMap<String?, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b2: MutableMap<String?, Int> = x val b2: MutableMap<String?, Int> = x
val b3: Map<String?, Int> = x val b3: Map<String?, Int> = x
val b4: Map<String?, Int?> = x val b4: Map<String?, Int?> = x
@@ -33,17 +34,17 @@ fun hashMapTest() {
fun treeMapTest() { fun treeMapTest() {
var x: TreeMap<String?, Int> = TreeMap<String?, Int>() var x: TreeMap<String?, Int> = TreeMap<String?, Int>()
x.put(null, null) x.put(null, <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put("", null) x.put("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
x.put(bar(), 1) x.put(bar(), 1)
x.put("", 1) x.put("", 1)
x[null] = 1 x[null] = 1
x[bar()] = 1 x[bar()] = 1
x[""] = nullableInt x[""] = <!ARGUMENT_TYPE_MISMATCH!>nullableInt<!>
x[""] = 1 x[""] = 1
val b1: MutableMap<String?, Int?> = x val b1: MutableMap<String?, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b2: MutableMap<String?, Int> = x val b2: MutableMap<String?, Int> = x
val b3: Map<String?, Int> = x val b3: Map<String?, Int> = x
val b4: Map<String?, Int?> = x val b4: Map<String?, Int?> = x
@@ -17,6 +17,7 @@ fun hashMapTest() {
x[bar()] = 1 x[bar()] = 1
x[""] = <!TYPE_MISMATCH!>nullableInt<!> x[""] = <!TYPE_MISMATCH!>nullableInt<!>
x[""] = 1 x[""] = 1
x[""] = <!NULL_FOR_NONNULL_TYPE!>null<!>
val b1: MutableMap<String?, Int?> = <!TYPE_MISMATCH!>x<!> val b1: MutableMap<String?, Int?> = <!TYPE_MISMATCH!>x<!>
val b2: MutableMap<String?, Int> = x val b2: MutableMap<String?, Int> = x
@@ -8,13 +8,13 @@ val nullableInt: Int? = null
fun hashMapTest() { fun hashMapTest() {
var x: HashMap<String, Int?> = HashMap<String, Int?>() var x: HashMap<String, Int?> = HashMap<String, Int?>()
x.put(null, null) x.put(<!NULL_FOR_NONNULL_TYPE!>null<!>, null)
x.put("", null) x.put("", null)
x.put(bar(), 1) x.put(<!ARGUMENT_TYPE_MISMATCH!>bar()<!>, 1)
x.put("", 1) x.put("", 1)
x[null] = 1 x[<!NULL_FOR_NONNULL_TYPE!>null<!>] = 1
x[bar()] = 1 x[<!ARGUMENT_TYPE_MISMATCH!>bar()<!>] = 1
x[""] = nullableInt x[""] = nullableInt
x[""] = 1 x[""] = 1
@@ -22,7 +22,7 @@ fun hashMapTest() {
val b2: MutableMap<String, Int?> = x val b2: MutableMap<String, Int?> = x
val b3: Map<String, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!> val b3: Map<String, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b4: Map<String, Int?> = x val b4: Map<String, Int?> = x
val b5: Map<String?, Int?> = x val b5: Map<String?, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!> val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x.get("")<!> val b7: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x.get("")<!>
@@ -32,13 +32,13 @@ fun hashMapTest() {
fun treeMapTest() { fun treeMapTest() {
var x: TreeMap<String, Int?> = TreeMap<String, Int?>() var x: TreeMap<String, Int?> = TreeMap<String, Int?>()
x.put(null, null) x.put(<!NULL_FOR_NONNULL_TYPE!>null<!>, null)
x.put("", null) x.put("", null)
x.put(bar(), 1) x.put(<!ARGUMENT_TYPE_MISMATCH!>bar()<!>, 1)
x.put("", 1) x.put("", 1)
x[null] = 1 x[<!NULL_FOR_NONNULL_TYPE!>null<!>] = 1
x[bar()] = 1 x[<!ARGUMENT_TYPE_MISMATCH!>bar()<!>] = 1
x[""] = nullableInt x[""] = nullableInt
x[""] = 1 x[""] = 1
@@ -46,7 +46,7 @@ fun treeMapTest() {
val b2: MutableMap<String, Int?> = x val b2: MutableMap<String, Int?> = x
val b3: Map<String, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!> val b3: Map<String, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b4: Map<String, Int?> = x val b4: Map<String, Int?> = x
val b5: Map<String?, Int?> = x val b5: Map<String?, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!> val b6: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x.get("")<!> val b7: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>x.get("")<!>
@@ -45,7 +45,7 @@ fun foo(x: List<String>, y: Throwable, z: A3) {
y.fillInStackTrace() checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>_<!><Int>() } y.fillInStackTrace() checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>_<!><Int>() }
HashMap<String, Int>().getOrDefault(<!ARGUMENT_TYPE_MISMATCH!>Any()<!>, null) HashMap<String, Int>().getOrDefault(<!ARGUMENT_TYPE_MISMATCH!>Any()<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
// Falls back to extension in stdlib // Falls back to extension in stdlib
y.printStackTrace() y.printStackTrace()
@@ -118,30 +118,30 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
<K>: kotlin.String <K>: kotlin.String
<V>: kotlin.Int <V>: kotlin.Int
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> ($this:<root>.C) returnType:@[FlexibleNullability] kotlin.Int? FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
$this: VALUE_PARAMETER name:<this> type:<root>.C $this: VALUE_PARAMETER name:<this> type:<root>.C
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test8> (): @[FlexibleNullability] kotlin.Int? declared in <root>.C' RETURN type=kotlin.Nothing from='public final fun <get-test8> (): kotlin.Int declared in <root>.C'
CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=@[FlexibleNullability] kotlin.Int? origin=null CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Int origin=null
<V>: @[FlexibleNullability] kotlin.Int? <V>: kotlin.Int
<V1>: @[FlexibleNullability] kotlin.Int? <V1>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null $receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test8>' type=<root>.C origin=null receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test8>' type=<root>.C origin=null
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test8>' type=<root>.C origin=null thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test8>' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test8: @[FlexibleNullability] kotlin.Int? [delegated,var]' field=null getter='public final fun <get-test8> (): @[FlexibleNullability] kotlin.Int? declared in <root>.C' setter='public final fun <set-test8> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<<root>.C, @[FlexibleNullability] kotlin.Int?> origin=PROPERTY_REFERENCE_FOR_DELEGATE property: PROPERTY_REFERENCE 'public final test8: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test8> (): kotlin.Int declared in <root>.C' setter='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test8> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test8> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
$this: VALUE_PARAMETER name:<this> type:<root>.C $this: VALUE_PARAMETER name:<this> type:<root>.C
VALUE_PARAMETER name:<set-?> index:0 type:@[FlexibleNullability] kotlin.Int? VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY BLOCK_BODY
CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null
<V>: @[FlexibleNullability] kotlin.Int? <V>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null $receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test8>' type=<root>.C origin=null receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test8>' type=<root>.C origin=null
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test8>' type=<root>.C origin=null thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test8>' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test8: @[FlexibleNullability] kotlin.Int? [delegated,var]' field=null getter='public final fun <get-test8> (): @[FlexibleNullability] kotlin.Int? declared in <root>.C' setter='public final fun <set-test8> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<<root>.C, @[FlexibleNullability] kotlin.Int?> origin=PROPERTY_REFERENCE_FOR_DELEGATE property: PROPERTY_REFERENCE 'public final test8: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test8> (): kotlin.Int declared in <root>.C' setter='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
value: GET_VAR '<set-?>: @[FlexibleNullability] kotlin.Int? declared in <root>.C.<set-test8>' type=@[FlexibleNullability] kotlin.Int? origin=null value: GET_VAR '<set-?>: kotlin.Int declared in <root>.C.<set-test8>' type=kotlin.Int origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
@@ -44,13 +44,14 @@ class C {
return <this>.#test7$delegate.getValue<Int>(thisRef = <this>, property = C::test7) return <this>.#test7$delegate.getValue<Int>(thisRef = <this>, property = C::test7)
} }
var test8: @FlexibleNullability Int? /* by */ var test8: Int /* by */
field = hashMapOf<String, Int>() field = hashMapOf<String, Int>()
get(): @FlexibleNullability Int? { get(): Int {
return <this>.#test8$delegate.getValue<@FlexibleNullability Int?, @FlexibleNullability Int?>(thisRef = <this>, property = C::test8) return <this>.#test8$delegate.getValue<Int, Int>(thisRef = <this>, property = C::test8)
} }
set(<set-?>: @FlexibleNullability Int?) { set(<set-?>: Int) {
<this>.#test8$delegate.setValue<@FlexibleNullability Int?>(thisRef = <this>, property = C::test8, value = <set-?>) <this>.#test8$delegate.setValue<Int>(thisRef = <this>, property = C::test8, value = <set-?>)
} }
} }
@@ -105,23 +105,23 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null
<K>: kotlin.String <K>: kotlin.String
<V>: kotlin.Any <V>: kotlin.Any
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:@[FlexibleNullability] kotlin.Any? FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:kotlin.Any
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var]
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test4> (): @[FlexibleNullability] kotlin.Any? declared in <root>' RETURN type=kotlin.Nothing from='public final fun <get-test4> (): kotlin.Any declared in <root>'
CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=@[FlexibleNullability] kotlin.Any? origin=null CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Any origin=null
<V>: @[FlexibleNullability] kotlin.Any? <V>: kotlin.Any
<V1>: @[FlexibleNullability] kotlin.Any? <V1>: kotlin.Any
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test4$delegate type:java.util.HashMap<kotlin.String, kotlin.Any> visibility:private [final,static]' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null $receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test4$delegate type:java.util.HashMap<kotlin.String, kotlin.Any> visibility:private [final,static]' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final test4: @[FlexibleNullability] kotlin.Any? [delegated,var]' field=null getter='public final fun <get-test4> (): @[FlexibleNullability] kotlin.Any? declared in <root>' setter='public final fun <set-test4> (<set-?>: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.Any?> origin=PROPERTY_REFERENCE_FOR_DELEGATE property: PROPERTY_REFERENCE 'public final test4: kotlin.Any [delegated,var]' field=null getter='public final fun <get-test4> (): kotlin.Any declared in <root>' setter='public final fun <set-test4> (<set-?>: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test4> visibility:public modality:FINAL <> (<set-?>:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test4> visibility:public modality:FINAL <> (<set-?>:kotlin.Any) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var]
VALUE_PARAMETER name:<set-?> index:0 type:@[FlexibleNullability] kotlin.Any? VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Any
BLOCK_BODY BLOCK_BODY
CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null
<V>: @[FlexibleNullability] kotlin.Any? <V>: kotlin.Any
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test4$delegate type:java.util.HashMap<kotlin.String, kotlin.Any> visibility:private [final,static]' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null $receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test4$delegate type:java.util.HashMap<kotlin.String, kotlin.Any> visibility:private [final,static]' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final test4: @[FlexibleNullability] kotlin.Any? [delegated,var]' field=null getter='public final fun <get-test4> (): @[FlexibleNullability] kotlin.Any? declared in <root>' setter='public final fun <set-test4> (<set-?>: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.Any?> origin=PROPERTY_REFERENCE_FOR_DELEGATE property: PROPERTY_REFERENCE 'public final test4: kotlin.Any [delegated,var]' field=null getter='public final fun <get-test4> (): kotlin.Any declared in <root>' setter='public final fun <set-test4> (<set-?>: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE
value: GET_VAR '<set-?>: @[FlexibleNullability] kotlin.Any? declared in <root>.<set-test4>' type=@[FlexibleNullability] kotlin.Any? origin=null value: GET_VAR '<set-?>: kotlin.Any declared in <root>.<set-test4>' type=kotlin.Any origin=null
@@ -38,11 +38,12 @@ class C {
} }
var test4: @FlexibleNullability Any? /* by */ var test4: Any /* by */
field = hashMapOf<String, Any>() field = hashMapOf<String, Any>()
get(): @FlexibleNullability Any? { get(): Any {
return #test4$delegate.getValue<@FlexibleNullability Any?, @FlexibleNullability Any?>(thisRef = null, property = ::test4) return #test4$delegate.getValue<Any, Any>(thisRef = null, property = ::test4)
} }
set(<set-?>: @FlexibleNullability Any?) { set(<set-?>: Any) {
#test4$delegate.setValue<@FlexibleNullability Any?>(thisRef = null, property = ::test4, value = <set-?>) #test4$delegate.setValue<Any>(thisRef = null, property = ::test4, value = <set-?>)
} }
@@ -22,39 +22,40 @@ FILE fqName:<root> fileName:/localDelegatedProperties.kt
message: CALL 'local final fun <get-x> (): kotlin.Int declared in <root>.test1' type=kotlin.Int origin=GET_LOCAL_PROPERTY message: CALL 'local final fun <get-x> (): kotlin.Int declared in <root>.test1' type=kotlin.Int origin=GET_LOCAL_PROPERTY
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY BLOCK_BODY
LOCAL_DELEGATED_PROPERTY name:x type:@[FlexibleNullability] kotlin.Int? flags:var LOCAL_DELEGATED_PROPERTY name:x type:kotlin.Int flags:var
VAR PROPERTY_DELEGATE name:x$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> [val] VAR PROPERTY_DELEGATE name:x$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> [val]
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
<K>: kotlin.String <K>: kotlin.String
<V>: kotlin.Int <V>: kotlin.Int
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-x> visibility:local modality:FINAL <> () returnType:@[FlexibleNullability] kotlin.Int? FUN DELEGATED_PROPERTY_ACCESSOR name:<get-x> visibility:local modality:FINAL <> () returnType:kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <get-x> (): @[FlexibleNullability] kotlin.Int? declared in <root>.test2' RETURN type=kotlin.Nothing from='local final fun <get-x> (): kotlin.Int declared in <root>.test2'
CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=@[FlexibleNullability] kotlin.Int? origin=null CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Int origin=null
<V>: @[FlexibleNullability] kotlin.Int? <V>: kotlin.Int
<V1>: @[FlexibleNullability] kotlin.Int? <V1>: kotlin.Int
$receiver: GET_VAR 'val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> [val] declared in <root>.test2' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null $receiver: GET_VAR 'val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> [val] declared in <root>.test2' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null thisRef: CONST Null type=kotlin.Nothing? value=null
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'var x: @[FlexibleNullability] kotlin.Int? by (...)' delegate='val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> [val] declared in <root>.test2' getter='local final fun <get-x> (): @[FlexibleNullability] kotlin.Int? declared in <root>.test2' setter='local final fun <set-x> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.test2' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.Int?> origin=PROPERTY_REFERENCE_FOR_DELEGATE property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'var x: kotlin.Int by (...)' delegate='val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> [val] declared in <root>.test2' getter='local final fun <get-x> (): kotlin.Int declared in <root>.test2' setter='local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-x> visibility:local modality:FINAL <> (<set-?>:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit FUN DELEGATED_PROPERTY_ACCESSOR name:<set-x> visibility:local modality:FINAL <> (<set-?>:kotlin.Int) returnType:kotlin.Unit
VALUE_PARAMETER name:<set-?> index:0 type:@[FlexibleNullability] kotlin.Int? VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY BLOCK_BODY
CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null
<V>: @[FlexibleNullability] kotlin.Int? <V>: kotlin.Int
$receiver: GET_VAR 'val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> [val] declared in <root>.test2' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null $receiver: GET_VAR 'val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> [val] declared in <root>.test2' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null thisRef: CONST Null type=kotlin.Nothing? value=null
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'var x: @[FlexibleNullability] kotlin.Int? by (...)' delegate='val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> [val] declared in <root>.test2' getter='local final fun <get-x> (): @[FlexibleNullability] kotlin.Int? declared in <root>.test2' setter='local final fun <set-x> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.test2' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.Int?> origin=PROPERTY_REFERENCE_FOR_DELEGATE property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'var x: kotlin.Int by (...)' delegate='val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> [val] declared in <root>.test2' getter='local final fun <get-x> (): kotlin.Int declared in <root>.test2' setter='local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
value: GET_VAR '<set-?>: @[FlexibleNullability] kotlin.Int? declared in <root>.test2.<set-x>' type=@[FlexibleNullability] kotlin.Int? origin=null value: GET_VAR '<set-?>: kotlin.Int declared in <root>.test2.<set-x>' type=kotlin.Int origin=null
CALL 'local final fun <set-x> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=EQ CALL 'local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=EQ
<set-?>: CONST Int type=kotlin.Int value=0 <set-?>: CONST Int type=kotlin.Int value=0
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:@[FlexibleNullability] kotlin.Int? [val]
CALL 'local final fun <get-x> (): @[FlexibleNullability] kotlin.Int? declared in <root>.test2' type=@[FlexibleNullability] kotlin.Int? origin=GET_LOCAL_PROPERTY
CALL 'local final fun <set-x> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=POSTFIX_INCR
<set-?>: CALL 'public final fun inc (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_0: @[FlexibleNullability] kotlin.Int? [val] declared in <root>.test2' type=@[FlexibleNullability] kotlin.Int? origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
GET_VAR 'val tmp_0: @[FlexibleNullability] kotlin.Int? [val] declared in <root>.test2' type=@[FlexibleNullability] kotlin.Int? origin=null BLOCK type=kotlin.Int origin=POSTFIX_INCR
CALL 'local final fun <set-x> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=PLUSEQ VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Int [val]
CALL 'local final fun <get-x> (): kotlin.Int declared in <root>.test2' type=kotlin.Int origin=GET_LOCAL_PROPERTY
CALL 'local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=POSTFIX_INCR
<set-?>: CALL 'public final fun inc (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'val tmp_0: kotlin.Int [val] declared in <root>.test2' type=kotlin.Int origin=null
GET_VAR 'val tmp_0: kotlin.Int [val] declared in <root>.test2' type=kotlin.Int origin=null
CALL 'local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=PLUSEQ
<set-?>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null <set-?>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: CALL 'local final fun <get-x> (): @[FlexibleNullability] kotlin.Int? declared in <root>.test2' type=@[FlexibleNullability] kotlin.Int? origin=GET_LOCAL_PROPERTY $this: CALL 'local final fun <get-x> (): kotlin.Int declared in <root>.test2' type=kotlin.Int origin=GET_LOCAL_PROPERTY
other: CONST Int type=kotlin.Int value=1 other: CONST Int type=kotlin.Int value=1
@@ -12,18 +12,21 @@ fun test1() {
} }
fun test2() { fun test2() {
var x: @FlexibleNullability Int? var x: Int
val x$delegate: HashMap<String, Int> = hashMapOf<String, Int>() val x$delegate: HashMap<String, Int> = hashMapOf<String, Int>()
local get(): @FlexibleNullability Int? { local get(): Int {
return x$delegate.getValue<@FlexibleNullability Int?, @FlexibleNullability Int?>(thisRef = null, property = ::x) return x$delegate.getValue<Int, Int>(thisRef = null, property = ::x)
} }
local set(<set-?>: @FlexibleNullability Int?) { local set(<set-?>: Int) {
x$delegate.setValue<@FlexibleNullability Int?>(thisRef = null, property = ::x, value = <set-?>) x$delegate.setValue<Int>(thisRef = null, property = ::x, value = <set-?>)
} }
<set-x>(<set-?> = 0) <set-x>(<set-?> = 0)
val <unary>: @FlexibleNullability Int? = <get-x>() { // BLOCK
<set-x>(<set-?> = <unary>.inc()) val <unary>: Int = <get-x>()
<unary> /*~> Unit */ <set-x>(<set-?> = <unary>.inc())
<unary>
} /*~> Unit */
<set-x>(<set-?> = <get-x>().plus(other = 1)) <set-x>(<set-?> = <get-x>().plus(other = 1))
} }
@@ -93,23 +93,23 @@ FILE fqName:<root> fileName:/packageLevelProperties.kt
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
<K>: kotlin.String <K>: kotlin.String
<V>: kotlin.Int <V>: kotlin.Int
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> () returnType:@[FlexibleNullability] kotlin.Int? FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> () returnType:kotlin.Int
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test8> (): @[FlexibleNullability] kotlin.Int? declared in <root>' RETURN type=kotlin.Nothing from='public final fun <get-test8> (): kotlin.Int declared in <root>'
CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=@[FlexibleNullability] kotlin.Int? origin=null CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Int origin=null
<V>: @[FlexibleNullability] kotlin.Int? <V>: kotlin.Int
<V1>: @[FlexibleNullability] kotlin.Int? <V1>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final,static]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null $receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final,static]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final test8: @[FlexibleNullability] kotlin.Int? [delegated,var]' field=null getter='public final fun <get-test8> (): @[FlexibleNullability] kotlin.Int? declared in <root>' setter='public final fun <set-test8> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.Int?> origin=PROPERTY_REFERENCE_FOR_DELEGATE property: PROPERTY_REFERENCE 'public final test8: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test8> (): kotlin.Int declared in <root>' setter='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test8> visibility:public modality:FINAL <> (<set-?>:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test8> visibility:public modality:FINAL <> (<set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
VALUE_PARAMETER name:<set-?> index:0 type:@[FlexibleNullability] kotlin.Int? VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY BLOCK_BODY
CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null
<V>: @[FlexibleNullability] kotlin.Int? <V>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final,static]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null $receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final,static]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final test8: @[FlexibleNullability] kotlin.Int? [delegated,var]' field=null getter='public final fun <get-test8> (): @[FlexibleNullability] kotlin.Int? declared in <root>' setter='public final fun <set-test8> (<set-?>: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.Int?> origin=PROPERTY_REFERENCE_FOR_DELEGATE property: PROPERTY_REFERENCE 'public final test8: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test8> (): kotlin.Int declared in <root>' setter='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
value: GET_VAR '<set-?>: @[FlexibleNullability] kotlin.Int? declared in <root>.<set-test8>' type=@[FlexibleNullability] kotlin.Int? origin=null value: GET_VAR '<set-?>: kotlin.Int declared in <root>.<set-test8>' type=kotlin.Int origin=null
@@ -37,11 +37,12 @@ val test7: Int /* by */
return #test7$delegate.getValue<Int>(thisRef = null, property = ::test7) return #test7$delegate.getValue<Int>(thisRef = null, property = ::test7)
} }
var test8: @FlexibleNullability Int? /* by */ var test8: Int /* by */
field = hashMapOf<String, Int>() field = hashMapOf<String, Int>()
get(): @FlexibleNullability Int? { get(): Int {
return #test8$delegate.getValue<@FlexibleNullability Int?, @FlexibleNullability Int?>(thisRef = null, property = ::test8) return #test8$delegate.getValue<Int, Int>(thisRef = null, property = ::test8)
} }
set(<set-?>: @FlexibleNullability Int?) { set(<set-?>: Int) {
#test8$delegate.setValue<@FlexibleNullability Int?>(thisRef = null, property = ::test8, value = <set-?>) #test8$delegate.setValue<Int>(thisRef = null, property = ::test8, value = <set-?>)
} }
@@ -153,7 +153,7 @@ FILE fqName:<root> fileName:/ClashResolutionDescriptor.kt
BLOCK type=kotlin.collections.Collection<<root>.ComponentDescriptor> origin=ELVIS BLOCK type=kotlin.collections.Collection<<root>.ComponentDescriptor> origin=ELVIS
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.collections.Collection<<root>.ComponentDescriptor>? [val] VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.collections.Collection<<root>.ComponentDescriptor>? [val]
TYPE_OP type=kotlin.collections.Collection<<root>.ComponentDescriptor>? origin=SAFE_CAST typeOperand=kotlin.collections.Collection<<root>.ComponentDescriptor> TYPE_OP type=kotlin.collections.Collection<<root>.ComponentDescriptor>? origin=SAFE_CAST typeOperand=kotlin.collections.Collection<<root>.ComponentDescriptor>
CALL 'public open fun get (p0: @[FlexibleNullability] K of java.util.HashMap?): V of java.util.HashMap? [operator] declared in java.util.HashMap' type=kotlin.Any? origin=null CALL 'public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): V of java.util.HashMap? [operator] declared in java.util.HashMap' type=kotlin.Any? origin=null
$this: CALL 'private final fun <get-registrationMap> (): java.util.HashMap<java.lang.reflect.Type, kotlin.Any> declared in <root>' type=java.util.HashMap<java.lang.reflect.Type, kotlin.Any> origin=GET_PROPERTY $this: CALL 'private final fun <get-registrationMap> (): java.util.HashMap<java.lang.reflect.Type, kotlin.Any> declared in <root>' type=java.util.HashMap<java.lang.reflect.Type, kotlin.Any> origin=GET_PROPERTY
p0: CALL 'public final fun <get-applicableTo> (): java.lang.Class<E of <root>.PlatformExtensionsClashResolver> declared in <root>.PlatformExtensionsClashResolver' type=java.lang.Class<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out kotlin.Any?>>>>>> origin=GET_PROPERTY p0: CALL 'public final fun <get-applicableTo> (): java.lang.Class<E of <root>.PlatformExtensionsClashResolver> declared in <root>.PlatformExtensionsClashResolver' type=java.lang.Class<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out kotlin.Any?>>>>>> origin=GET_PROPERTY
$this: GET_VAR 'val resolver: <root>.PlatformExtensionsClashResolver<*> [val] declared in <root>.resolveClashesIfAny' type=<root>.PlatformExtensionsClashResolver<*> origin=null $this: GET_VAR 'val resolver: <root>.PlatformExtensionsClashResolver<*> [val] declared in <root>.resolveClashesIfAny' type=<root>.PlatformExtensionsClashResolver<*> origin=null
+102 -102
View File
@@ -196,51 +196,51 @@ FILE fqName:<root> fileName:/MultiList.kt
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in java.util.ArrayList' DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in java.util.ArrayList'
<E>: <root>.Some<T of <root>.SomeList> <E>: <root>.Some<T of <root>.SomeList>
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:SomeList modality:OPEN visibility:public superTypes:[<root>.MyList<T of <root>.SomeList>; java.util.ArrayList<<root>.Some<T of <root>.SomeList>>]' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:SomeList modality:OPEN visibility:public superTypes:[<root>.MyList<T of <root>.SomeList>; java.util.ArrayList<<root>.Some<T of <root>.SomeList>>]'
FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?) returnType:kotlin.Boolean [fake_override,operator] FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<T of <root>.SomeList>) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden:
public open fun contains (p0: @[FlexibleNullability] E of java.util.ArrayList?): kotlin.Boolean [operator] declared in java.util.ArrayList public open fun contains (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean [operator] declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<T of <root>.SomeList>
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<E of java.util.AbstractCollection>, p0:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<E of java.util.AbstractCollection>, p0:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun containsAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.ArrayList?>): kotlin.Boolean [fake_override] declared in java.util.ArrayList public open fun containsAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.ArrayList?>): kotlin.Boolean [fake_override] declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<E of java.util.AbstractCollection> $this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<E of java.util.AbstractCollection>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>
FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? [fake_override,operator] FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:<root>.Some<T of <root>.SomeList> [fake_override,operator]
overridden: overridden:
public open fun get (p0: kotlin.Int): @[FlexibleNullability] E of java.util.ArrayList? [operator] declared in java.util.ArrayList public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList [operator] declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?) returnType:kotlin.Int [fake_override] FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<T of <root>.SomeList>) returnType:kotlin.Int [fake_override]
overridden: overridden:
public open fun indexOf (p0: @[FlexibleNullability] E of java.util.ArrayList?): kotlin.Int declared in java.util.ArrayList public open fun indexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<T of <root>.SomeList>
FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override,operator] FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<<root>.Some<T of <root>.SomeList>> [fake_override,operator]
overridden: overridden:
public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.ArrayList?> [operator] declared in java.util.ArrayList public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.ArrayList> [operator] declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?) returnType:kotlin.Int [fake_override] FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<T of <root>.SomeList>) returnType:kotlin.Int [fake_override]
overridden: overridden:
public open fun lastIndexOf (p0: @[FlexibleNullability] E of java.util.ArrayList?): kotlin.Int declared in java.util.ArrayList public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<T of <root>.SomeList>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<<root>.Some<T of <root>.SomeList>> [fake_override]
overridden: overridden:
public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<<root>.Some<T of <root>.SomeList>> [fake_override]
overridden: overridden:
public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<<root>.Some<T of <root>.SomeList>> [fake_override]
overridden: overridden:
public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
@@ -310,77 +310,77 @@ FILE fqName:<root> fileName:/MultiList.kt
TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of <root>.SomeList.toArray?>? VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of <root>.SomeList.toArray?>?
FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?) returnType:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? [fake_override,operator] FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:<root>.Some<T of <root>.SomeList>) returnType:<root>.Some<T of <root>.SomeList> [fake_override,operator]
overridden: overridden:
public open fun set (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.ArrayList?): @[FlexibleNullability] E of java.util.ArrayList? [operator] declared in java.util.ArrayList public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.ArrayList): @[EnhancedNullability] E of java.util.ArrayList [operator] declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? VALUE_PARAMETER name:p1 index:1 type:<root>.Some<T of <root>.SomeList>
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<T of <root>.SomeList>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun add (p0: @[FlexibleNullability] E of java.util.ArrayList?): kotlin.Boolean declared in java.util.ArrayList public open fun add (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<T of <root>.SomeList>
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:<root>.Some<T of <root>.SomeList>) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun add (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.ArrayList?): kotlin.Unit declared in java.util.ArrayList public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? VALUE_PARAMETER name:p1 index:1 type:<root>.Some<T of <root>.SomeList>
FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<T of <root>.SomeList>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun remove (p0: @[FlexibleNullability] E of java.util.ArrayList?): kotlin.Boolean declared in java.util.ArrayList public open fun remove (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<T of <root>.SomeList>
FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun clear (): kotlin.Unit declared in java.util.ArrayList public open fun clear (): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>>
FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden: overridden:
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<<root>.Some<T of <root>.SomeList>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun removeAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<<root>.Some<T of <root>.SomeList>>
FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<<root>.Some<T of <root>.SomeList>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun retainAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<<root>.Some<T of <root>.SomeList>>
FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] java.util.function.Predicate<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] java.util.function.Predicate<in <root>.Some<T of <root>.SomeList>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate<in @[FlexibleNullability] E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate<in @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate<in <root>.Some<T of <root>.SomeList>>
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<<root>.Some<T of <root>.SomeList>>) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] E of java.util.ArrayList?>): kotlin.Unit declared in java.util.ArrayList public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<<root>.Some<T of <root>.SomeList>>
FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>?) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>?) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun sort (p0: @[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList public open fun sort (p0: @[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>? VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>?
FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[FlexibleNullability] <root>.Some<T of <root>.SomeList>? [fake_override] FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:<root>.Some<T of <root>.SomeList> [fake_override]
overridden: overridden:
public open fun removeAt (p0: kotlin.Int): @[FlexibleNullability] E of java.util.ArrayList? declared in java.util.ArrayList public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
CLASS CLASS name:FinalList modality:FINAL visibility:public superTypes:[<root>.SomeList<kotlin.String>] CLASS CLASS name:FinalList modality:FINAL visibility:public superTypes:[<root>.SomeList<kotlin.String>]
@@ -390,51 +390,51 @@ FILE fqName:<root> fileName:/MultiList.kt
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.SomeList' DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.SomeList'
<T>: kotlin.String <T>: kotlin.String
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:FinalList modality:FINAL visibility:public superTypes:[<root>.SomeList<kotlin.String>]' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:FinalList modality:FINAL visibility:public superTypes:[<root>.SomeList<kotlin.String>]'
FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<kotlin.String>?) returnType:kotlin.Boolean [fake_override,operator] FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<kotlin.String>) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden:
public open fun contains (p0: @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?): kotlin.Boolean [fake_override,operator] declared in <root>.SomeList public open fun contains (p0: <root>.Some<T of <root>.SomeList>): kotlin.Boolean [fake_override,operator] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<kotlin.String>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<kotlin.String>
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<E of java.util.AbstractCollection>, p0:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<E of java.util.AbstractCollection>, p0:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun containsAll (p0: kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun containsAll (p0: kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<E of java.util.AbstractCollection> $this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<E of java.util.AbstractCollection>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<kotlin.String>?> VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<kotlin.String>?>
FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[FlexibleNullability] <root>.Some<kotlin.String>? [fake_override,operator] FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:<root>.Some<kotlin.String> [fake_override,operator]
overridden: overridden:
public open fun get (p0: kotlin.Int): @[FlexibleNullability] <root>.Some<T of <root>.SomeList>? [fake_override,operator] declared in <root>.SomeList public open fun get (p0: kotlin.Int): <root>.Some<T of <root>.SomeList> [fake_override,operator] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<kotlin.String>?) returnType:kotlin.Int [fake_override] FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<kotlin.String>) returnType:kotlin.Int [fake_override]
overridden: overridden:
public open fun indexOf (p0: @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?): kotlin.Int [fake_override] declared in <root>.SomeList public open fun indexOf (p0: <root>.Some<T of <root>.SomeList>): kotlin.Int [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<kotlin.String>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<kotlin.String>
FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun isEmpty (): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun isEmpty (): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.Some<kotlin.String>?> [fake_override,operator] FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<<root>.Some<kotlin.String>> [fake_override,operator]
overridden: overridden:
public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override,operator] declared in <root>.SomeList public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<<root>.Some<T of <root>.SomeList>> [fake_override,operator] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<kotlin.String>?) returnType:kotlin.Int [fake_override] FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<kotlin.String>) returnType:kotlin.Int [fake_override]
overridden: overridden:
public open fun lastIndexOf (p0: @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?): kotlin.Int [fake_override] declared in <root>.SomeList public open fun lastIndexOf (p0: <root>.Some<T of <root>.SomeList>): kotlin.Int [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<kotlin.String>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<kotlin.String>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] <root>.Some<kotlin.String>?> [fake_override] FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<<root>.Some<kotlin.String>> [fake_override]
overridden: overridden:
public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] declared in <root>.SomeList public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<<root>.Some<T of <root>.SomeList>> [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] <root>.Some<kotlin.String>?> [fake_override] FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<<root>.Some<kotlin.String>> [fake_override]
overridden: overridden:
public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] declared in <root>.SomeList public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<<root>.Some<T of <root>.SomeList>> [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] <root>.Some<kotlin.String>?> [fake_override] FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<<root>.Some<kotlin.String>> [fake_override]
overridden: overridden:
public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] declared in <root>.SomeList public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<<root>.Some<T of <root>.SomeList>> [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
@@ -504,76 +504,76 @@ FILE fqName:<root> fileName:/MultiList.kt
TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of <root>.FinalList.toArray?>? VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] T of <root>.FinalList.toArray?>?
FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[FlexibleNullability] <root>.Some<kotlin.String>?) returnType:@[FlexibleNullability] <root>.Some<kotlin.String>? [fake_override,operator] FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:<root>.Some<kotlin.String>) returnType:<root>.Some<kotlin.String> [fake_override,operator]
overridden: overridden:
public open fun set (p0: kotlin.Int, p1: @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?): @[FlexibleNullability] <root>.Some<T of <root>.SomeList>? [fake_override,operator] declared in <root>.SomeList public open fun set (p0: kotlin.Int, p1: <root>.Some<T of <root>.SomeList>): <root>.Some<T of <root>.SomeList> [fake_override,operator] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] <root>.Some<kotlin.String>? VALUE_PARAMETER name:p1 index:1 type:<root>.Some<kotlin.String>
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<kotlin.String>?) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<kotlin.String>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun add (p0: @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun add (p0: <root>.Some<T of <root>.SomeList>): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<kotlin.String>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<kotlin.String>
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[FlexibleNullability] <root>.Some<kotlin.String>?) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:<root>.Some<kotlin.String>) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun add (p0: kotlin.Int, p1: @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?): kotlin.Unit [fake_override] declared in <root>.SomeList public open fun add (p0: kotlin.Int, p1: <root>.Some<T of <root>.SomeList>): kotlin.Unit [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] <root>.Some<kotlin.String>? VALUE_PARAMETER name:p1 index:1 type:<root>.Some<kotlin.String>
FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] <root>.Some<kotlin.String>?) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:<root>.Some<kotlin.String>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun remove (p0: @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun remove (p0: <root>.Some<T of <root>.SomeList>): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] <root>.Some<kotlin.String>? VALUE_PARAMETER name:p0 index:0 type:<root>.Some<kotlin.String>
FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun clear (): kotlin.Unit [fake_override] declared in <root>.SomeList public open fun clear (): kotlin.Unit [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>>): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<kotlin.String>?> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>>): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection<out @[FlexibleNullability] <root>.Some<kotlin.String>?> VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>>
FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden: overridden:
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit [fake_override] declared in <root>.SomeList protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<<root>.Some<kotlin.String>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun removeAll (p0: kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun removeAll (p0: kotlin.collections.Collection<<root>.Some<T of <root>.SomeList>>): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<kotlin.String>?> VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<<root>.Some<kotlin.String>>
FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<<root>.Some<kotlin.String>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun retainAll (p0: kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun retainAll (p0: kotlin.collections.Collection<<root>.Some<T of <root>.SomeList>>): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] <root>.Some<kotlin.String>?> VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<<root>.Some<kotlin.String>>
FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] java.util.function.Predicate<in @[FlexibleNullability] <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] java.util.function.Predicate<in <root>.Some<kotlin.String>>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>): kotlin.Boolean [fake_override] declared in <root>.SomeList public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate<in <root>.Some<T of <root>.SomeList>>): kotlin.Boolean [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate<in @[FlexibleNullability] <root>.Some<kotlin.String>?> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate<in <root>.Some<kotlin.String>>
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] <root>.Some<kotlin.String>?>) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<<root>.Some<kotlin.String>>) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>): kotlin.Unit [fake_override] declared in <root>.SomeList public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<<root>.Some<T of <root>.SomeList>>): kotlin.Unit [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] <root>.Some<kotlin.String>?> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<<root>.Some<kotlin.String>>
FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<kotlin.String>?>?) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<kotlin.String>?>?) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun sort (p0: @[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>?): kotlin.Unit [fake_override] declared in <root>.SomeList public open fun sort (p0: @[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>?): kotlin.Unit [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<kotlin.String>?>? VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] <root>.Some<kotlin.String>?>?
FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[FlexibleNullability] <root>.Some<kotlin.String>? [fake_override] FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:<root>.Some<kotlin.String> [fake_override]
overridden: overridden:
public open fun removeAt (p0: kotlin.Int): @[FlexibleNullability] <root>.Some<T of <root>.SomeList>? [fake_override] declared in <root>.SomeList public open fun removeAt (p0: kotlin.Int): <root>.Some<T of <root>.SomeList> [fake_override] declared in <root>.SomeList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
@@ -6,7 +6,7 @@ public abstract interface Kt3302 : R|kotlin/Any| {
} }
public abstract interface BasicBSONObject : R|test/Kt3302.LinkedHashMap<ft<kotlin/String, kotlin/String?>, ft<kotlin/Any, kotlin/Any?>>|, R|test/Kt3302.BSONObject| { public abstract interface BasicBSONObject : R|test/Kt3302.LinkedHashMap<ft<kotlin/String, kotlin/String?>, ft<kotlin/Any, kotlin/Any?>>|, R|test/Kt3302.BSONObject| {
@R|java/lang/Override|() public abstract fun put(key: R|ft<kotlin/String, kotlin/String?>|, value: R|ft<kotlin/Any, kotlin/Any?>|): R|ft<kotlin/Any, kotlin/Any?>| @R|java/lang/Override|() public abstract fun put(key: R|@EnhancedNullability kotlin/String|, value: R|@EnhancedNullability kotlin/Any|): R|ft<kotlin/Any, kotlin/Any?>|
} }
public abstract interface LinkedHashMap<K : R|ft<kotlin/Any, kotlin/Any?>|, V : R|ft<kotlin/Any, kotlin/Any?>|> : R|kotlin/Any| { public abstract interface LinkedHashMap<K : R|ft<kotlin/Any, kotlin/Any?>|, V : R|ft<kotlin/Any, kotlin/Any?>|> : R|kotlin/Any| {
@@ -17345,6 +17345,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/j+k/protectedStaticSamePackage.kt"); runTest("compiler/testData/diagnostics/tests/j+k/protectedStaticSamePackage.kt");
} }
@Test
@TestMetadata("purelyImplementedSupertype.kt")
public void testPurelyImplementedSupertype() throws Exception {
runTest("compiler/testData/diagnostics/tests/j+k/purelyImplementedSupertype.kt");
}
@Test @Test
@TestMetadata("rawOverride.kt") @TestMetadata("rawOverride.kt")
public void testRawOverride() throws Exception { public void testRawOverride() throws Exception {