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,13 @@
// !CHECK_TYPE
// SKIP_TXT
// FULL_JDK
import java.util.stream.Collectors
import java.util.stream.Stream
fun test(a: Stream<String>) {
a.collect(Collectors.toList()) checkType { _<MutableList<String>>() }
// actually the inferred type is platform
a.collect(Collectors.toList()) checkType { _<List<String?>>() }
}
@@ -0,0 +1,70 @@
// FILE: JavaInterface.java
public interface JavaInterface {
static String testStatic() {
return "OK";
}
default String test() {
return "OK";
}
default String testOverride() {
return "OK";
}
}
// FILE: 1.kt
import JavaInterface.testStatic
interface KotlinInterface : JavaInterface {
fun fooo() {
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
}
override fun testOverride(): String {
return "OK";
}
}
interface KotlinInterfaceInderectInheritance : KotlinInterface {
fun foooo() {
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
}
}
open class KotlinClass : JavaInterface {
fun foo(){
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.<!DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET!>test<!>()
super.<!DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET!>testOverride<!>()
}
}
class KotlinClassInderectInheritance : KotlinClass() {
fun foo2(){
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.test()
super.testOverride()
}
}
class KotlinClassInderectInheritance2 : KotlinInterfaceInderectInheritance {
fun foo(){
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.<!DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET!>test<!>()
super.testOverride()
}
}
fun test() {
JavaInterface.<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
KotlinClass().foo()
KotlinClassInderectInheritance2().foo()
KotlinClass().test()
KotlinClass().testOverride()
KotlinClassInderectInheritance().testOverride()
}
@@ -0,0 +1,66 @@
package
public fun test(): kotlin.Unit
public interface JavaInterface {
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 fun test(): kotlin.String!
public open fun testOverride(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun testStatic(): kotlin.String!
}
public open class KotlinClass : JavaInterface {
public constructor KotlinClass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class KotlinClassInderectInheritance : KotlinClass {
public constructor KotlinClassInderectInheritance()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
public final fun foo2(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class KotlinClassInderectInheritance2 : KotlinInterfaceInderectInheritance {
public constructor KotlinClassInderectInheritance2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterface : JavaInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceInderectInheritance : KotlinInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,79 @@
// FILE: JavaInterfaceBase.java
public interface JavaInterfaceBase {
default String test() {
return "OK";
}
default String testOverride() {
return "OK";
}
}
// FILE: JavaInterface.java
public interface JavaInterface extends JavaInterfaceBase {
static String testStatic() {
return "OK";
}
}
// FILE: 1.kt
import JavaInterface.testStatic
interface KotlinInterface : JavaInterface {
fun fooo() {
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
test()
testOverride()
}
override fun testOverride(): String {
return "OK";
}
}
interface KotlinInterfaceIndirectInheritance : KotlinInterface {
fun foooo() {
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.<!INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>test<!>()
testOverride()
super.testOverride()
}
}
open class KotlinClass : JavaInterface {
fun foo(){
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.<!DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET!>test<!>()
super.<!DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET!>testOverride<!>()
}
}
class KotlinClassIndirectInheritance : KotlinClass() {
fun foo2(){
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.test()
super.testOverride()
}
}
class KotlinClassIndirectInheritance2 : KotlinInterfaceIndirectInheritance {
fun foo(){
<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
super.<!DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET!>test<!>()
super.testOverride()
}
}
fun test() {
JavaInterface.<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>testStatic<!>()
KotlinClass().foo()
KotlinClassIndirectInheritance2().foo()
KotlinClass().test()
KotlinClass().testOverride()
KotlinClassIndirectInheritance().testOverride()
}
@@ -0,0 +1,74 @@
package
public fun test(): kotlin.Unit
public interface JavaInterface : JavaInterfaceBase {
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 test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun testStatic(): kotlin.String!
}
public interface JavaInterfaceBase {
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 fun test(): kotlin.String!
public open fun testOverride(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class KotlinClass : JavaInterface {
public constructor KotlinClass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class KotlinClassIndirectInheritance : KotlinClass {
public constructor KotlinClassIndirectInheritance()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
public final fun foo2(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class KotlinClassIndirectInheritance2 : KotlinInterfaceIndirectInheritance {
public constructor KotlinClassIndirectInheritance2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterface : JavaInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun fooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface KotlinInterfaceIndirectInheritance : KotlinInterface {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun fooo(): kotlin.Unit
public open fun foooo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun testOverride(): kotlin.String
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,32 @@
// FILE: I.java
public interface I {
int a = 1;
static void foo() {}
}
// FILE: C.java
public class C implements I {
static int b = 1;
static void bar() {}
}
// FILE: test.kt
class K : C()
fun main(args: Array<String>) {
I.a
I.<!INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET!>foo<!>()
C.a
C.b
C.<!UNRESOLVED_REFERENCE!>foo<!>()
C.bar()
K.<!UNRESOLVED_REFERENCE!>a<!>
K.<!UNRESOLVED_REFERENCE!>b<!>
K.<!UNRESOLVED_REFERENCE!>foo<!>()
K.<!UNRESOLVED_REFERENCE!>bar<!>()
}
@@ -0,0 +1,32 @@
package
public fun main(/*0*/ args: kotlin.Array<kotlin.String>): kotlin.Unit
public open class C : I {
public constructor C()
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 const final override /*1*/ /*fake_override*/ val a: kotlin.Int = 1
public/*package*/ final var b: kotlin.Int
public/*package*/ open fun bar(): kotlin.Unit
}
public interface I {
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 const final val a: kotlin.Int = 1
public open fun foo(): kotlin.Unit
}
public final class K : C {
public constructor K()
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
}
@@ -0,0 +1,9 @@
// FULL_JDK
import java.util.*
import java.util.stream.Stream
fun <T> Stream<T>?.getIfSingle() =
this?.map { Optional.ofNullable(it) }
?.reduce(Optional.empty()) { _, _ -> Optional.empty() }
?.orElse(null) // <<---- should not be an error
@@ -0,0 +1,3 @@
package
public fun </*0*/ T> java.util.stream.Stream<T>?.getIfSingle(): T?
@@ -0,0 +1,23 @@
// !CHECK_TYPE
// FULL_JDK
// FILE: A.java
import java.util.function.Consumer;
public class A<T> {
void test(Consumer<? super T> consumer) {}
}
// FILE: 1.kt
import java.util.function.Consumer
fun test(a: A<out Number>) {
a.test (Consumer {
it checkType { _<Number>() }
it.toInt()
})
a.test {
it checkType { _<Number>() }
it.toInt()
}
}
@@ -0,0 +1,11 @@
package
public fun test(/*0*/ a: A<out kotlin.Number>): kotlin.Unit
public open class A</*0*/ T : kotlin.Any!> {
public constructor A</*0*/ T : kotlin.Any!>()
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/*package*/ open fun test(/*0*/ consumer: java.util.function.Consumer<in T!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,6 @@
// FULL_JDK
class C1 : java.util.Hashtable<String, Int>()
class C2 : java.util.Hashtable<String, Int>() {
override fun get(key: String) = 123
}
@@ -0,0 +1,99 @@
package
public final class C1 : java.util.Hashtable<kotlin.String, kotlin.Int> {
public constructor C1()
invisible_fake final override /*1*/ /*fake_override*/ var count: kotlin.Int
public open override /*1*/ /*fake_override*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.String!, kotlin.Int!>>
invisible_fake final override /*1*/ /*fake_override*/ var entrySet: kotlin.collections.(Mutable)Set<kotlin.collections.(Mutable)Map.(Mutable)Entry<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!>
invisible_fake final override /*1*/ /*fake_override*/ var loadFactor: kotlin.Float
invisible_fake final override /*1*/ /*fake_override*/ var modCount: 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.Hashtable.Entry<*, *>!>!
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.Int!>!
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.MutableCollection<kotlin.Int!>
invisible_fake open override /*1*/ /*fake_override*/ fun addEntry(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.Int!, /*3*/ p3: kotlin.Int): kotlin.Unit
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 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 contains(/*0*/ p0: kotlin.Any!): kotlin.Boolean
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 elements(): java.util.Enumeration<kotlin.Int!>!
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?
invisible_fake open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> getEnumeration(/*0*/ p0: kotlin.Int): java.util.Enumeration<T!>!
invisible_fake open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> getIterator(/*0*/ p0: kotlin.Int): kotlin.collections.(Mutable)Iterator<T!>!
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 keys(): java.util.Enumeration<kotlin.String!>!
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?
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ p0: java.io.ObjectInputStream!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun reconstitutionPut(/*0*/ p0: kotlin.Array<(out) java.util.Hashtable.Entry<*, *>!>!, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.Int!): kotlin.Unit
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun rehash(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String!): kotlin.Int?
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String!, /*1*/ value: kotlin.Int!): kotlin.Boolean
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
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
}
public final class C2 : java.util.Hashtable<kotlin.String, kotlin.Int> {
public constructor C2()
invisible_fake final override /*1*/ /*fake_override*/ var count: kotlin.Int
public open override /*1*/ /*fake_override*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.String!, kotlin.Int!>>
invisible_fake final override /*1*/ /*fake_override*/ var entrySet: kotlin.collections.(Mutable)Set<kotlin.collections.(Mutable)Map.(Mutable)Entry<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!>
invisible_fake final override /*1*/ /*fake_override*/ var loadFactor: kotlin.Float
invisible_fake final override /*1*/ /*fake_override*/ var modCount: 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.Hashtable.Entry<*, *>!>!
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.Int!>!
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.MutableCollection<kotlin.Int!>
invisible_fake open override /*1*/ /*fake_override*/ fun addEntry(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.Int!, /*3*/ p3: kotlin.Int): kotlin.Unit
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 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 contains(/*0*/ p0: kotlin.Any!): kotlin.Boolean
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 elements(): java.util.Enumeration<kotlin.Int!>!
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*/ fun get(/*0*/ key: kotlin.String): kotlin.Int
invisible_fake open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> getEnumeration(/*0*/ p0: kotlin.Int): java.util.Enumeration<T!>!
invisible_fake open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> getIterator(/*0*/ p0: kotlin.Int): kotlin.collections.(Mutable)Iterator<T!>!
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 keys(): java.util.Enumeration<kotlin.String!>!
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?
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ p0: java.io.ObjectInputStream!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun reconstitutionPut(/*0*/ p0: kotlin.Array<(out) java.util.Hashtable.Entry<*, *>!>!, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.Int!): kotlin.Unit
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun rehash(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String!): kotlin.Int?
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.String!, /*1*/ value: kotlin.Int!): kotlin.Boolean
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
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
}
@@ -0,0 +1,5 @@
// FULL_JDK
import java.security.Provider
class Example : Provider("A", 1.0, "B")
@@ -0,0 +1,114 @@
package
public final class Example : java.security.Provider {
public constructor Example()
invisible_fake final override /*1*/ /*fake_override*/ var count: kotlin.Int
protected/*protected and package*/ final override /*1*/ /*fake_override*/ var defaults: java.util.Properties!
public open override /*1*/ /*fake_override*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Any!, kotlin.Any!>>
invisible_fake final override /*1*/ /*fake_override*/ var entrySet: kotlin.collections.(Mutable)Set<kotlin.collections.(Mutable)Map.(Mutable)Entry<kotlin.Any!, kotlin.Any!>!>!
invisible_fake final override /*1*/ /*fake_override*/ var entrySetCallCount: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var info: kotlin.String!
invisible_fake final override /*1*/ /*fake_override*/ var initialized: kotlin.Boolean
invisible_fake final override /*1*/ /*fake_override*/ var keySet: kotlin.collections.(Mutable)Set<kotlin.Any!>!
public open override /*1*/ /*fake_override*/ val keys: kotlin.collections.MutableSet<kotlin.Any!>
invisible_fake final override /*1*/ /*fake_override*/ var legacyChanged: kotlin.Boolean
invisible_fake final override /*1*/ /*fake_override*/ var legacyMap: kotlin.collections.(Mutable)Map<java.security.Provider.ServiceKey!, java.security.Provider.Service!>!
invisible_fake final override /*1*/ /*fake_override*/ var legacyStrings: kotlin.collections.(Mutable)Map<kotlin.String!, kotlin.String!>!
invisible_fake final override /*1*/ /*fake_override*/ var loadFactor: kotlin.Float
invisible_fake final override /*1*/ /*fake_override*/ var modCount: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var name: kotlin.String!
invisible_fake final override /*1*/ /*fake_override*/ var serviceMap: kotlin.collections.(Mutable)Map<java.security.Provider.ServiceKey!, java.security.Provider.Service!>!
invisible_fake final override /*1*/ /*fake_override*/ var serviceSet: kotlin.collections.(Mutable)Set<java.security.Provider.Service!>!
invisible_fake final override /*1*/ /*fake_override*/ var servicesChanged: kotlin.Boolean
public open override /*1*/ /*fake_override*/ val size: kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ var table: kotlin.Array<(out) java.util.Hashtable.Entry<*, *>!>!
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.Any!>!
public open override /*1*/ /*fake_override*/ val values: kotlin.collections.MutableCollection<kotlin.Any!>
invisible_fake final override /*1*/ /*fake_override*/ var version: kotlin.Double
invisible_fake open override /*1*/ /*fake_override*/ fun addEntry(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Any!, /*2*/ p2: kotlin.Any!, /*3*/ p3: kotlin.Int): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun check(/*0*/ p0: kotlin.String!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun checkInitialized(): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun checkLegacy(/*0*/ p0: kotlin.Any!): kotlin.Boolean
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 compute(/*0*/ p0: kotlin.Any!, /*1*/ p1: java.util.function.BiFunction<in kotlin.Any!, in kotlin.Any?, out kotlin.Any?>): kotlin.Any?
public open override /*1*/ /*fake_override*/ fun computeIfAbsent(/*0*/ p0: kotlin.Any!, /*1*/ p1: java.util.function.Function<in kotlin.Any!, out kotlin.Any!>): kotlin.Any!
public open override /*1*/ /*fake_override*/ fun computeIfPresent(/*0*/ p0: kotlin.Any!, /*1*/ p1: java.util.function.BiFunction<in kotlin.Any!, in kotlin.Any, out kotlin.Any?>): kotlin.Any?
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ p0: kotlin.Any!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: kotlin.Any!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: kotlin.Any!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun elements(): java.util.Enumeration<kotlin.Any!>!
invisible_fake open override /*1*/ /*fake_override*/ fun ensureLegacyParsed(): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun enumerate(/*0*/ p0: java.util.Hashtable<kotlin.String!, kotlin.Any!>!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun enumerateStringProperties(/*0*/ p0: java.util.Hashtable<kotlin.String!, kotlin.String!>!): kotlin.Unit
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.Any!, in kotlin.Any!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun get(/*0*/ key: kotlin.Any!): kotlin.Any?
invisible_fake open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> getEnumeration(/*0*/ p0: kotlin.Int): java.util.Enumeration<T!>!
public open override /*1*/ /*fake_override*/ fun getInfo(): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> getIterator(/*0*/ p0: kotlin.Int): kotlin.collections.(Mutable)Iterator<T!>!
public open override /*1*/ /*fake_override*/ fun getName(): kotlin.String!
public open override /*1*/ /*fake_override*/ fun getOrDefault(/*0*/ key: kotlin.Any!, /*1*/ defaultValue: kotlin.Any!): kotlin.Any!
public open override /*1*/ /*fake_override*/ fun getProperty(/*0*/ p0: kotlin.String!): kotlin.String!
public open override /*1*/ /*fake_override*/ fun getProperty(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.String!): kotlin.String!
public open override /*1*/ /*fake_override*/ fun getService(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.String!): java.security.Provider.Service!
public open override /*1*/ /*fake_override*/ fun getServices(): kotlin.collections.(Mutable)Set<java.security.Provider.Service!>!
invisible_fake open override /*1*/ /*fake_override*/ fun getTypeAndAlgorithm(/*0*/ p0: kotlin.String!): kotlin.Array<(out) kotlin.String!>!
public open override /*1*/ /*fake_override*/ fun getVersion(): kotlin.Double
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
invisible_fake open override /*1*/ /*fake_override*/ fun implClear(): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun implCompute(/*0*/ p0: kotlin.Any!, /*1*/ p1: java.util.function.BiFunction<in kotlin.Any!, in kotlin.Any!, out kotlin.Any!>!): kotlin.Any!
invisible_fake open override /*1*/ /*fake_override*/ fun implComputeIfAbsent(/*0*/ p0: kotlin.Any!, /*1*/ p1: java.util.function.Function<in kotlin.Any!, out kotlin.Any!>!): kotlin.Any!
invisible_fake open override /*1*/ /*fake_override*/ fun implComputeIfPresent(/*0*/ p0: kotlin.Any!, /*1*/ p1: java.util.function.BiFunction<in kotlin.Any!, in kotlin.Any!, out kotlin.Any!>!): kotlin.Any!
invisible_fake open override /*1*/ /*fake_override*/ fun implMerge(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!, /*2*/ p2: java.util.function.BiFunction<in kotlin.Any!, in kotlin.Any!, out kotlin.Any!>!): kotlin.Any!
invisible_fake open override /*1*/ /*fake_override*/ fun implPut(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Any!
invisible_fake open override /*1*/ /*fake_override*/ fun implPutAll(/*0*/ p0: kotlin.collections.(Mutable)Map<*, *>!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun implPutIfAbsent(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Any!
invisible_fake open override /*1*/ /*fake_override*/ fun implRemove(/*0*/ p0: kotlin.Any!): kotlin.Any!
invisible_fake open override /*1*/ /*fake_override*/ fun implRemove(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun implRemoveService(/*0*/ p0: java.security.Provider.Service!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun implReplace(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Any!
invisible_fake open override /*1*/ /*fake_override*/ fun implReplace(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!, /*2*/ p2: kotlin.Any!): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun implReplaceAll(/*0*/ p0: java.util.function.BiFunction<in kotlin.Any!, in kotlin.Any!, out kotlin.Any!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun keys(): java.util.Enumeration<kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun list(/*0*/ p0: java.io.PrintStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun list(/*0*/ p0: java.io.PrintWriter!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun load(/*0*/ p0: java.io.InputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun load(/*0*/ p0: java.io.Reader!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun load0(/*0*/ p0: java.util.Properties.LineReader!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun loadConvert(/*0*/ p0: kotlin.CharArray!, /*1*/ p1: kotlin.Int, /*2*/ p2: kotlin.Int, /*3*/ p3: kotlin.CharArray!): kotlin.String!
public open override /*1*/ /*fake_override*/ fun loadFromXML(/*0*/ p0: java.io.InputStream!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun merge(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any, /*2*/ p2: java.util.function.BiFunction<in kotlin.Any, in kotlin.Any, out kotlin.Any?>): kotlin.Any?
invisible_fake open override /*1*/ /*fake_override*/ fun parseLegacyPut(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.String!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun propertyNames(): java.util.Enumeration<*>!
public open override /*1*/ /*fake_override*/ fun put(/*0*/ key: kotlin.Any!, /*1*/ value: kotlin.Any!): kotlin.Any?
public open override /*1*/ /*fake_override*/ fun putAll(/*0*/ from: kotlin.collections.Map<*, *>): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun putId(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun putIfAbsent(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Any?
invisible_fake open override /*1*/ /*fake_override*/ fun putPropertyStrings(/*0*/ p0: java.security.Provider.Service!): kotlin.Unit
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun putService(/*0*/ p0: java.security.Provider.Service!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ p0: java.io.ObjectInputStream!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun reconstitutionPut(/*0*/ p0: kotlin.Array<(out) java.util.Hashtable.Entry<*, *>!>!, /*1*/ p1: kotlin.Any!, /*2*/ p2: kotlin.Any!): kotlin.Unit
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun rehash(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.Any!): kotlin.Any?
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ key: kotlin.Any!, /*1*/ value: kotlin.Any!): kotlin.Boolean
invisible_fake open override /*1*/ /*fake_override*/ fun removeInvalidServices(/*0*/ p0: kotlin.collections.(Mutable)Map<java.security.Provider.ServiceKey!, java.security.Provider.Service!>!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun removePropertyStrings(/*0*/ p0: java.security.Provider.Service!): kotlin.Unit
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeService(/*0*/ p0: java.security.Provider.Service!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun replace(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Any?
public open override /*1*/ /*fake_override*/ fun replace(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!, /*2*/ p2: kotlin.Any!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun replaceAll(/*0*/ p0: java.util.function.BiFunction<in kotlin.Any!, in kotlin.Any!, out kotlin.Any!>): kotlin.Unit
@kotlin.Deprecated(message = "Deprecated in Java") public open override /*1*/ /*fake_override*/ fun save(/*0*/ p0: java.io.OutputStream!, /*1*/ p1: kotlin.String!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun saveConvert(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Boolean, /*2*/ p2: kotlin.Boolean): kotlin.String!
public open override /*1*/ /*fake_override*/ fun setProperty(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.String!): kotlin.Any!
public open override /*1*/ /*fake_override*/ fun store(/*0*/ p0: java.io.OutputStream!, /*1*/ p1: kotlin.String!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun store(/*0*/ p0: java.io.Writer!, /*1*/ p1: kotlin.String!): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun store0(/*0*/ p0: java.io.BufferedWriter!, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.Boolean): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun storeToXML(/*0*/ p0: java.io.OutputStream!, /*1*/ p1: kotlin.String!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun storeToXML(/*0*/ p0: java.io.OutputStream!, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.String!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun stringPropertyNames(): kotlin.collections.(Mutable)Set<kotlin.String!>!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
}
@@ -0,0 +1,16 @@
// FILE: JavaClass.java
public class JavaClass {
public static String testStatic() {
return "OK";
}
}
// FILE: 1.kt
import JavaClass.testStatic
fun test() {
JavaClass.testStatic()
testStatic()
}
@@ -0,0 +1,13 @@
package
public fun test(): kotlin.Unit
public open class JavaClass {
public constructor JavaClass()
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 testStatic(): kotlin.String!
}