Merge "diagnostic with Java 8" tests with general diagnostic tests

This commit is contained in:
Alexander Udalov
2017-08-01 10:49:08 -07:00
parent 8db736e2b4
commit 770441c212
70 changed files with 346 additions and 458 deletions
@@ -0,0 +1,18 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN
abstract class Test1 : Map<String, String> {
fun <!VIRTUAL_MEMBER_HIDDEN!>containsKey<!>(key: String): Boolean = TODO()
fun getOrDefault(key: String, defaultValue: String): String = TODO()
}
abstract class Test2 : MutableMap<String, String> {
fun replace(key: String, value: String): String? = TODO()
}
abstract class Test3 : java.util.AbstractMap<String, String>() {
fun <!VIRTUAL_MEMBER_HIDDEN!>containsKey<!>(key: String): Boolean = TODO()
fun replace(key: String, value: String): String? = TODO()
}
@@ -0,0 +1,60 @@
package
public abstract class Test1 : kotlin.collections.Map<kotlin.String, kotlin.String> {
public constructor Test1()
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public final override /*1*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public final fun getOrDefault(/*0*/ key: kotlin.String, /*1*/ defaultValue: kotlin.String): kotlin.String
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class Test2 : kotlin.collections.MutableMap<kotlin.String, kotlin.String> {
public constructor Test2()
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.MutableSet<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.MutableCollection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun put(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public abstract override /*1*/ /*fake_override*/ fun putAll(/*0*/ from: kotlin.collections.Map<out kotlin.String, kotlin.String>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String): kotlin.String?
public final fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class Test3 : java.util.AbstractMap<kotlin.String, kotlin.String> {
public constructor Test3()
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.String!, kotlin.String!>>
invisible_fake final override /*1*/ /*fake_override*/ var keySet: kotlin.collections.(Mutable)Set<kotlin.String!>!
public open override /*1*/ /*fake_override*/ val keys: kotlin.collections.MutableSet<kotlin.String!>
public open override /*1*/ /*fake_override*/ val size: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var values: kotlin.collections.(Mutable)Collection<kotlin.String!>!
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.MutableCollection<kotlin.String!>
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any!
public final override /*1*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String!): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun put(/*0*/ key: kotlin.String!, /*1*/ value: kotlin.String!): kotlin.String?
public open override /*1*/ /*fake_override*/ fun putAll(/*0*/ from: kotlin.collections.Map<out kotlin.String!, kotlin.String!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String!): kotlin.String?
public final fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,32 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN
// Default methods from Java interfaces are NOT overridden by delegation.
// So, in the example below 'TestNoDelegationToDefaultMethods#replace' implicitly overrides a method from 'java.util.Map' (which is ok),
// but not a method from 'WithDelegation' (would be an error).
open class WithDelegation(val m: Map<String, String>) : Map<String, String> by m
class TestNoDelegationToDefaultMethods(m: Map<String, String>): WithDelegation(m) {
fun <!VIRTUAL_MEMBER_HIDDEN!>containsKey<!>(key: String): Boolean = TODO()
fun getOrDefault(key: String, defaultValue: String): String = TODO()
fun replace(key: String, value: String): String? = TODO()
}
interface IBaseWithKotlinDeclaration : Map<String, String> {
fun replace(key: String, value: String): String?
}
abstract class WithDelegation2(val m: Map<String, String>) : Map<String, String> by m, IBaseWithKotlinDeclaration
abstract class TestNoDelegationToDefaultMethods2(m: Map<String, String>): WithDelegation2(m) {
fun <!VIRTUAL_MEMBER_HIDDEN!>containsKey<!>(key: String): Boolean = TODO()
fun getOrDefault(key: String, defaultValue: String): String = TODO()
// VIRTUAL_MEMBER_HIDDEN: hides member declaration inherited from a Kotlin interface
fun <!VIRTUAL_MEMBER_HIDDEN!>replace<!>(key: String, value: String): String? = TODO()
}
@@ -0,0 +1,85 @@
package
public interface IBaseWithKotlinDeclaration : kotlin.collections.Map<kotlin.String, kotlin.String> {
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public abstract fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class TestNoDelegationToDefaultMethods : WithDelegation {
public constructor TestNoDelegationToDefaultMethods(/*0*/ m: kotlin.collections.Map<kotlin.String, kotlin.String>)
public open override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public open override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public final override /*1*/ /*fake_override*/ val m: kotlin.collections.Map<kotlin.String, kotlin.String>
public open override /*1*/ /*fake_override*/ val size: kotlin.Int
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public final override /*1*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public final fun getOrDefault(/*0*/ key: kotlin.String, /*1*/ defaultValue: kotlin.String): kotlin.String
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public final fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class TestNoDelegationToDefaultMethods2 : WithDelegation2 {
public constructor TestNoDelegationToDefaultMethods2(/*0*/ m: kotlin.collections.Map<kotlin.String, kotlin.String>)
public open override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public open override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public final override /*1*/ /*fake_override*/ val m: kotlin.collections.Map<kotlin.String, kotlin.String>
public open override /*1*/ /*fake_override*/ val size: kotlin.Int
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public final override /*1*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public final fun getOrDefault(/*0*/ key: kotlin.String, /*1*/ defaultValue: kotlin.String): kotlin.String
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public final override /*1*/ fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class WithDelegation : kotlin.collections.Map<kotlin.String, kotlin.String> {
public constructor WithDelegation(/*0*/ m: kotlin.collections.Map<kotlin.String, kotlin.String>)
public open override /*1*/ /*delegation*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public open override /*1*/ /*delegation*/ val keys: kotlin.collections.Set<kotlin.String>
public final val m: kotlin.collections.Map<kotlin.String, kotlin.String>
public open override /*1*/ /*delegation*/ val size: kotlin.Int
public open override /*1*/ /*delegation*/ val values: kotlin.collections.Collection<kotlin.String>
public open override /*1*/ /*delegation*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public open override /*1*/ /*delegation*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*delegation*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*delegation*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class WithDelegation2 : kotlin.collections.Map<kotlin.String, kotlin.String>, IBaseWithKotlinDeclaration {
public constructor WithDelegation2(/*0*/ m: kotlin.collections.Map<kotlin.String, kotlin.String>)
public open override /*2*/ /*delegation*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public open override /*2*/ /*delegation*/ val keys: kotlin.collections.Set<kotlin.String>
public final val m: kotlin.collections.Map<kotlin.String, kotlin.String>
public open override /*2*/ /*delegation*/ val size: kotlin.Int
public open override /*2*/ /*delegation*/ val values: kotlin.collections.Collection<kotlin.String>
public open override /*2*/ /*delegation*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public open override /*2*/ /*delegation*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*delegation*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*delegation*/ fun isEmpty(): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,13 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN
interface IBase : Map<String, String>
interface TestDerivedInterfaceHiding : IBase {
fun replace(key: String, value: String): String?
}
interface TestDerivedInterfaceDefault : IBase {
fun replace(key: String, value: String): String? = TODO()
}
@@ -0,0 +1,45 @@
package
public interface IBase : kotlin.collections.Map<kotlin.String, kotlin.String> {
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface TestDerivedInterfaceDefault : IBase {
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface TestDerivedInterfaceHiding : IBase {
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public abstract fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,15 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN
interface IBaseWithKotlinDeclaration : Map<String, String> {
fun replace(key: String, value: String): String?
}
interface TestDerivedInterfaceHidingWithKotlinDeclaration : IBaseWithKotlinDeclaration {
// VIRTUAL_MEMBER_HIDDEN: hides member declaration inherited from a Kotlin interface
fun <!VIRTUAL_MEMBER_HIDDEN!>replace<!>(key: String, value: String): String?
}
interface TestDerivedInterfaceDefaultWithKotlinDeclaration : IBaseWithKotlinDeclaration {
// VIRTUAL_MEMBER_HIDDEN: hides member declaration inherited from a Kotlin interface
fun <!VIRTUAL_MEMBER_HIDDEN!>replace<!>(key: String, value: String): String? = TODO()
}
@@ -0,0 +1,46 @@
package
public interface IBaseWithKotlinDeclaration : kotlin.collections.Map<kotlin.String, kotlin.String> {
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public abstract fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface TestDerivedInterfaceDefaultWithKotlinDeclaration : IBaseWithKotlinDeclaration {
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface TestDerivedInterfaceHidingWithKotlinDeclaration : IBaseWithKotlinDeclaration {
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.String, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.String>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public abstract override /*1*/ fun replace(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,3 @@
class ControlFlowException : Exception("") {
fun fillInStackTrace() = this
}
@@ -0,0 +1,20 @@
package
public final class ControlFlowException : kotlin.Exception /* = java.lang.Exception */ {
public constructor ControlFlowException()
public open override /*1*/ /*fake_override*/ val cause: kotlin.Throwable?
public open override /*1*/ /*fake_override*/ val message: kotlin.String?
public final override /*1*/ /*fake_override*/ fun addSuppressed(/*0*/ exception: kotlin.Throwable!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ fun fillInStackTrace(): ControlFlowException
public open override /*1*/ /*fake_override*/ fun getLocalizedMessage(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun getStackTrace(): kotlin.Array<(out) java.lang.StackTraceElement!>!
public final override /*1*/ /*fake_override*/ fun getSuppressed(): kotlin.Array<(out) kotlin.Throwable!>!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun initCause(/*0*/ cause: kotlin.Throwable!): kotlin.Throwable!
public open override /*1*/ /*fake_override*/ fun printStackTrace(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintWriter!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun setStackTrace(/*0*/ stackTrace: kotlin.Array<(out) java.lang.StackTraceElement!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,10 @@
enum class TestEnum {
ENTRY;
fun <!VIRTUAL_MEMBER_HIDDEN!>getDeclaringClass<!>() {}
fun <!VIRTUAL_MEMBER_HIDDEN!>finalize<!>() {}
}
class TestFinalize {
fun finalize() {}
}
@@ -0,0 +1,28 @@
package
public final enum class TestEnum : kotlin.Enum<TestEnum> {
enum entry ENTRY
private constructor TestEnum()
public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: TestEnum): kotlin.Int
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
public final override /*1*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): kotlin.Unit
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): TestEnum
public final /*synthesized*/ fun values(): kotlin.Array<TestEnum>
}
public final class TestFinalize {
public constructor TestFinalize()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun finalize(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,5 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN
class MyHashMap : java.util.HashMap<String, String>() {
fun getOrDefault(key: String, defaultValue: String): String = TODO()
}
@@ -0,0 +1,55 @@
package
public final class MyHashMap : java.util.HashMap<kotlin.String, kotlin.String> {
public constructor MyHashMap()
public open override /*1*/ /*fake_override*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.String, kotlin.String>>
invisible_fake final override /*1*/ /*fake_override*/ var entrySet: kotlin.collections.(Mutable)Set<kotlin.collections.(Mutable)Map.(Mutable)Entry<kotlin.String!, kotlin.String!>!>!
invisible_fake final override /*1*/ /*fake_override*/ var hashSeed: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var keySet: kotlin.collections.(Mutable)Set<kotlin.String!>!
public open override /*1*/ /*fake_override*/ val keys: kotlin.collections.MutableSet<kotlin.String>
invisible_fake final override /*1*/ /*fake_override*/ val loadFactor: kotlin.Float
invisible_fake final override /*1*/ /*fake_override*/ var modCount: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var size: kotlin.Int
public open override /*1*/ /*fake_override*/ val size: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var table: kotlin.Array<(out) java.util.HashMap.Entry<kotlin.String!, kotlin.String!>!>!
invisible_fake final override /*1*/ /*fake_override*/ var threshold: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var values: kotlin.collections.(Mutable)Collection<kotlin.String!>!
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.MutableCollection<kotlin.String>
invisible_fake open override /*1*/ /*fake_override*/ fun addEntry(/*0*/ hash: kotlin.Int, /*1*/ key: kotlin.String!, /*2*/ value: kotlin.String!, /*3*/ bucketIndex: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun capacity(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun containsNullValue(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun createEntry(/*0*/ hash: kotlin.Int, /*1*/ key: kotlin.String!, /*2*/ value: kotlin.String!, /*3*/ bucketIndex: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun entrySet0(): kotlin.collections.(Mutable)Set<kotlin.collections.(Mutable)Map.(Mutable)Entry<kotlin.String!, kotlin.String!>!>!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String): kotlin.String?
invisible_fake final override /*1*/ /*fake_override*/ fun getEntry(/*0*/ key: kotlin.Any!): java.util.HashMap.Entry<kotlin.String!, kotlin.String!>!
invisible_fake open override /*1*/ /*fake_override*/ fun getForNullKey(): kotlin.String!
public final fun getOrDefault(/*0*/ key: kotlin.String, /*1*/ defaultValue: kotlin.String): kotlin.String
invisible_fake final override /*1*/ /*fake_override*/ fun hash(/*0*/ k: kotlin.Any!): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
invisible_fake open override /*1*/ /*fake_override*/ fun inflateTable(/*0*/ toSize: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun init(): kotlin.Unit
invisible_fake final override /*1*/ /*fake_override*/ fun initHashSeedAsNeeded(/*0*/ capacity: kotlin.Int): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun loadFactor(): kotlin.Float
invisible_fake open override /*1*/ /*fake_override*/ fun newEntryIterator(): kotlin.collections.(Mutable)Iterator<kotlin.collections.(Mutable)Map.(Mutable)Entry<kotlin.String!, kotlin.String!>!>!
invisible_fake open override /*1*/ /*fake_override*/ fun newKeyIterator(): kotlin.collections.(Mutable)Iterator<kotlin.String!>!
invisible_fake open override /*1*/ /*fake_override*/ fun newValueIterator(): kotlin.collections.(Mutable)Iterator<kotlin.String!>!
public open override /*1*/ /*fake_override*/ fun put(/*0*/ key: kotlin.String, /*1*/ value: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun putAll(/*0*/ from: kotlin.collections.Map<out kotlin.String, kotlin.String>): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun putAllForCreate(/*0*/ m: (kotlin.collections.MutableMap<out kotlin.String!, out kotlin.String!>..kotlin.collections.Map<out kotlin.String!, kotlin.String!>?)): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun putForCreate(/*0*/ key: kotlin.String!, /*1*/ value: kotlin.String!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun putForNullKey(/*0*/ value: kotlin.String!): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ s: java.io.ObjectInputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String): kotlin.String?
invisible_fake final override /*1*/ /*fake_override*/ fun removeEntryForKey(/*0*/ key: kotlin.Any!): java.util.HashMap.Entry<kotlin.String!, kotlin.String!>!
invisible_fake final override /*1*/ /*fake_override*/ fun removeMapping(/*0*/ o: kotlin.Any!): java.util.HashMap.Entry<kotlin.String!, kotlin.String!>!
invisible_fake open override /*1*/ /*fake_override*/ fun resize(/*0*/ newCapacity: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
invisible_fake open override /*1*/ /*fake_override*/ fun transfer(/*0*/ newTable: kotlin.Array<(out) java.util.HashMap.Entry<(raw) kotlin.Any!, (raw) kotlin.Any!>!>!, /*1*/ rehash: kotlin.Boolean): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ s: java.io.ObjectOutputStream!): kotlin.Unit
}
@@ -0,0 +1,21 @@
// FULL_JDK
import java.util.concurrent.*
val concurrent: ConcurrentMap<String, Int> = null!!
val concurrentHash: ConcurrentHashMap<String, Int> = null!!
fun foo() {
concurrent.remove("", 1)
concurrent.remove("", <!TYPE_MISMATCH!>""<!>)
concurrentHash.remove("", 1)
concurrentHash.remove("", <!TYPE_MISMATCH!>""<!>)
// Flexible types
concurrent.remove(null, 1)
concurrent.remove(null, null)
// @PurelyImplements
concurrentHash.remove(<!NULL_FOR_NONNULL_TYPE!>null<!>, 1)
concurrentHash.remove(<!NULL_FOR_NONNULL_TYPE!>null<!>, <!NULL_FOR_NONNULL_TYPE!>null<!>)
}
@@ -0,0 +1,5 @@
package
public val concurrent: java.util.concurrent.ConcurrentMap<kotlin.String, kotlin.Int>
public val concurrentHash: java.util.concurrent.ConcurrentHashMap<kotlin.String, kotlin.Int>
public fun foo(): kotlin.Unit
@@ -0,0 +1,41 @@
// FULL_JDK
import java.util.function.Consumer
abstract class MyIt1<out T> : Iterator<T> {
override fun forEachRemaining(x: Consumer<in T>) {}
}
abstract class MyIt2<out T> : Iterator<T> {
<!NOTHING_TO_OVERRIDE!>override<!> fun forEachRemaining(x: Consumer<in T?>) {}
}
abstract class MyIt3<out T> : Iterator<T> {
<!NOTHING_TO_OVERRIDE!>override<!> fun forEachRemaining(x: Consumer<in T>?) {}
}
abstract class MyIt4 : Iterator<String?> {
override fun forEachRemaining(x: Consumer<in String?>) {}
}
abstract class MyIt5 : Iterator<String> {
override fun forEachRemaining(x: Consumer<in String>) {}
}
abstract class MyIt6 : Iterator<String?> {
<!NOTHING_TO_OVERRIDE!>override<!> fun forEachRemaining(x: Consumer<in String>) {}
}
abstract class MyIt7 : Iterator<String> {
<!NOTHING_TO_OVERRIDE!>override<!> fun forEachRemaining(x: Consumer<in String?>) {}
}
fun foo(x: Iterator<String>, y: Iterator<String?>) {
x.forEachRemaining(<!NULL_FOR_NONNULL_TYPE!>null<!>)
x.forEachRemaining { it -> it.length }
x.forEachRemaining { it -> it<!UNNECESSARY_SAFE_CALL!>?.<!>length }
y.forEachRemaining { it -> it<!UNSAFE_CALL!>.<!>length }
y.forEachRemaining { it -> it?.length }
}
@@ -0,0 +1,77 @@
package
public fun foo(/*0*/ x: kotlin.collections.Iterator<kotlin.String>, /*1*/ y: kotlin.collections.Iterator<kotlin.String?>): kotlin.Unit
public abstract class MyIt1</*0*/ out T> : kotlin.collections.Iterator<T> {
public constructor MyIt1</*0*/ out T>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun forEachRemaining(/*0*/ x: java.util.function.Consumer<in T>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun next(): T
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class MyIt2</*0*/ out T> : kotlin.collections.Iterator<T> {
public constructor MyIt2</*0*/ out T>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T>): kotlin.Unit
public open fun forEachRemaining(/*0*/ x: java.util.function.Consumer<in T?>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun next(): T
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class MyIt3</*0*/ out T> : kotlin.collections.Iterator<T> {
public constructor MyIt3</*0*/ out T>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T>): kotlin.Unit
public open fun forEachRemaining(/*0*/ x: java.util.function.Consumer<in T>?): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun next(): T
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class MyIt4 : kotlin.collections.Iterator<kotlin.String?> {
public constructor MyIt4()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun forEachRemaining(/*0*/ x: java.util.function.Consumer<in kotlin.String?>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun next(): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class MyIt5 : kotlin.collections.Iterator<kotlin.String> {
public constructor MyIt5()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun forEachRemaining(/*0*/ x: java.util.function.Consumer<in kotlin.String>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun next(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class MyIt6 : kotlin.collections.Iterator<kotlin.String?> {
public constructor MyIt6()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun forEachRemaining(/*0*/ x: java.util.function.Consumer<in kotlin.String>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.String?>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun next(): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class MyIt7 : kotlin.collections.Iterator<kotlin.String> {
public constructor MyIt7()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.String>): kotlin.Unit
public open fun forEachRemaining(/*0*/ x: java.util.function.Consumer<in kotlin.String?>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun next(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,20 @@
// FULL_JDK
abstract class A : Map<Int, String>
fun foo(x: Map<Int, String>, a: A, b: java.util.HashMap<Int, String>) {
x.getOrDefault(1, "")
x.getOrDefault(<!TYPE_MISMATCH!>""<!>, "")
x.getOrDefault(1, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
x.getOrDefault(<!TYPE_MISMATCH!>""<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
a.getOrDefault(1, "")
a.getOrDefault(<!TYPE_MISMATCH!>""<!>, "")
a.getOrDefault(1, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
a.getOrDefault(<!TYPE_MISMATCH!>""<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
b.getOrDefault(1, "")
b.getOrDefault(<!TYPE_MISMATCH!>""<!>, "")
b.getOrDefault(1, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
b.getOrDefault(<!TYPE_MISMATCH!>""<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
}
@@ -0,0 +1,20 @@
package
public fun foo(/*0*/ x: kotlin.collections.Map<kotlin.Int, kotlin.String>, /*1*/ a: A, /*2*/ b: java.util.HashMap<kotlin.Int, kotlin.String>): kotlin.Unit
public abstract class A : kotlin.collections.Map<kotlin.Int, kotlin.String> {
public constructor A()
public abstract override /*1*/ /*fake_override*/ val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<kotlin.Int, kotlin.String>>
public abstract override /*1*/ /*fake_override*/ val keys: kotlin.collections.Set<kotlin.Int>
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ val values: kotlin.collections.Collection<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.Int): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.String): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.BiConsumer<in kotlin.Int, in kotlin.String>): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.Int): kotlin.String?
@kotlin.SinceKotlin(version = "1.1") @kotlin.internal.PlatformDependent public open override /*1*/ /*fake_override*/ fun getOrDefault(/*0*/ key: kotlin.Int, /*1*/ defaultValue: kotlin.String): kotlin.String
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,30 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -PARAMETER_NAME_CHANGED_ON_OVERRIDE
// FULL_JDK
class KotlinMap1<K, V> : java.util.AbstractMap<K, V>() {
override val entries: MutableSet<MutableMap.MutableEntry<K, V>>
get() = throw UnsupportedOperationException()
override fun remove(x: K, y: V) = true
}
class KotlinMap2 : java.util.AbstractMap<String, Int>() {
override val entries: MutableSet<MutableMap.MutableEntry<String, Int>>
get() = throw UnsupportedOperationException()
override fun remove(x: String, y: Int) = true
}
fun foo(x: MutableMap<String, Int>, y: java.util.HashMap<String, Int>, z: java.util.AbstractMap<String, Int>) {
x.remove("", 1)
x.remove("", <!TYPE_MISMATCH!>""<!>)
x.remove("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
y.remove("", 1)
y.remove("", <!TYPE_MISMATCH!>""<!>)
y.remove("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
z.remove("", 1)
z.remove("", <!TYPE_MISMATCH!>""<!>)
z.remove("", null)
}
@@ -0,0 +1,69 @@
package
public fun foo(/*0*/ x: kotlin.collections.MutableMap<kotlin.String, kotlin.Int>, /*1*/ y: java.util.HashMap<kotlin.String, kotlin.Int>, /*2*/ z: java.util.AbstractMap<kotlin.String, kotlin.Int>): kotlin.Unit
public final class KotlinMap1</*0*/ K, /*1*/ V> : java.util.AbstractMap<K, V> {
public constructor KotlinMap1</*0*/ K, /*1*/ V>()
public open override /*1*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>>
invisible_fake final override /*1*/ /*fake_override*/ var keySet: kotlin.collections.(Mutable)Set<K!>!
public open override /*1*/ /*fake_override*/ val keys: kotlin.collections.MutableSet<K!>
public open override /*1*/ /*fake_override*/ val size: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var values: kotlin.collections.(Mutable)Collection<V!>!
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.MutableCollection<V!>
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any!
public open override /*1*/ /*fake_override*/ fun compute(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V?, out V?>): V?
public open override /*1*/ /*fake_override*/ fun computeIfAbsent(/*0*/ p0: K!, /*1*/ p1: java.util.function.Function<in K!, out V!>): V!
public open override /*1*/ /*fake_override*/ fun computeIfPresent(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V, out V?>): V?
public open override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: K!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: V!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.BiConsumer<in K!, in V!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: K!): V?
@kotlin.SinceKotlin(version = "1.1") @kotlin.internal.PlatformDependent public open override /*1*/ /*fake_override*/ fun getOrDefault(/*0*/ key: K!, /*1*/ defaultValue: V!): V!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun merge(/*0*/ p0: K!, /*1*/ p1: V, /*2*/ p2: java.util.function.BiFunction<in V, in V, out V?>): V?
public open override /*1*/ /*fake_override*/ fun put(/*0*/ key: K!, /*1*/ value: V!): V?
public open override /*1*/ /*fake_override*/ fun putAll(/*0*/ from: kotlin.collections.Map<out K!, V!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun putIfAbsent(/*0*/ p0: K!, /*1*/ p1: V!): V?
public open override /*1*/ fun remove(/*0*/ x: K, /*1*/ y: V): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: K!): V?
public open override /*1*/ /*fake_override*/ fun replace(/*0*/ p0: K!, /*1*/ p1: V!): V?
public open override /*1*/ /*fake_override*/ fun replace(/*0*/ p0: K!, /*1*/ p1: V!, /*2*/ p2: V!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun replaceAll(/*0*/ p0: java.util.function.BiFunction<in K!, in V!, out V!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class KotlinMap2 : java.util.AbstractMap<kotlin.String, kotlin.Int> {
public constructor KotlinMap2()
public open override /*1*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.String, kotlin.Int>>
invisible_fake final override /*1*/ /*fake_override*/ var keySet: kotlin.collections.(Mutable)Set<kotlin.String!>!
public open override /*1*/ /*fake_override*/ val keys: kotlin.collections.MutableSet<kotlin.String!>
public open override /*1*/ /*fake_override*/ val size: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var values: kotlin.collections.(Mutable)Collection<kotlin.Int!>!
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.MutableCollection<kotlin.Int!>
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any!
public open override /*1*/ /*fake_override*/ fun compute(/*0*/ p0: kotlin.String!, /*1*/ p1: java.util.function.BiFunction<in kotlin.String!, in kotlin.Int?, out kotlin.Int?>): kotlin.Int?
public open override /*1*/ /*fake_override*/ fun computeIfAbsent(/*0*/ p0: kotlin.String!, /*1*/ p1: java.util.function.Function<in kotlin.String!, out kotlin.Int!>): kotlin.Int!
public open override /*1*/ /*fake_override*/ fun computeIfPresent(/*0*/ p0: kotlin.String!, /*1*/ p1: java.util.function.BiFunction<in kotlin.String!, in kotlin.Int, out kotlin.Int?>): kotlin.Int?
public open override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.String!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.Int!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.BiConsumer<in kotlin.String!, in kotlin.Int!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.String!): kotlin.Int?
@kotlin.SinceKotlin(version = "1.1") @kotlin.internal.PlatformDependent public open override /*1*/ /*fake_override*/ fun getOrDefault(/*0*/ key: kotlin.String!, /*1*/ defaultValue: kotlin.Int!): kotlin.Int!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun merge(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int, /*2*/ p2: java.util.function.BiFunction<in kotlin.Int, in kotlin.Int, out kotlin.Int?>): kotlin.Int?
public open override /*1*/ /*fake_override*/ fun put(/*0*/ key: kotlin.String!, /*1*/ value: kotlin.Int!): kotlin.Int?
public open override /*1*/ /*fake_override*/ fun putAll(/*0*/ from: kotlin.collections.Map<out kotlin.String!, kotlin.Int!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun putIfAbsent(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int!): kotlin.Int?
public open override /*1*/ fun remove(/*0*/ x: kotlin.String, /*1*/ y: kotlin.Int): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String!): kotlin.Int?
public open override /*1*/ /*fake_override*/ fun replace(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int!): kotlin.Int?
public open override /*1*/ /*fake_override*/ fun replace(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Int!, /*2*/ p2: kotlin.Int!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun replaceAll(/*0*/ p0: java.util.function.BiFunction<in kotlin.String!, in kotlin.Int!, out kotlin.Int!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,12 @@
// FULL_JDK
import java.util.stream.*
interface A : MutableCollection<String> {
override fun removeIf(x: java.util.function.Predicate<in String>) = false
}
fun foo(x: MutableList<String>, y: A) {
x.removeIf { it.length > 0 }
y.removeIf { it.length > 0 }
}
@@ -0,0 +1,25 @@
package
public fun foo(/*0*/ x: kotlin.collections.MutableList<kotlin.String>, /*1*/ y: A): kotlin.Unit
public interface A : kotlin.collections.MutableCollection<kotlin.String> {
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ element: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.String!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<kotlin.String>
public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<kotlin.String>
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ element: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
public open override /*1*/ fun removeIf(/*0*/ x: java.util.function.Predicate<in kotlin.String>): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.String!>
public open override /*1*/ /*fake_override*/ fun stream(): java.util.stream.Stream<kotlin.String>
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,12 @@
// FULL_JDK
import java.util.stream.*
interface A : Collection<String> {
override fun stream(): Stream<String> = Stream.<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>of<!>()
}
fun foo(x: List<String>, y: A) {
x.stream().filter { it.length > 0 }.collect(Collectors.toList())
y.stream().filter { it.length > 0 }
}
@@ -0,0 +1,18 @@
package
public fun foo(/*0*/ x: kotlin.collections.List<kotlin.String>, /*1*/ y: A): kotlin.Unit
public interface A : kotlin.collections.Collection<kotlin.String> {
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.String): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.String!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.Iterator<kotlin.String>
public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<kotlin.String>
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.String!>
public open override /*1*/ fun stream(): java.util.stream.Stream<kotlin.String>
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}