Report warning on extensions shadowed by members.
This commit is contained in:
Dmitry Petrov
2017-01-13 18:07:47 +03:00
parent ded7d5911b
commit 954204da82
62 changed files with 876 additions and 50 deletions
@@ -0,0 +1,31 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Outer {
inner class Test1
inner class Test2(val x: Int)
inner class Test3(val x: Any)
inner class Test4<T>(val x: T)
inner class Test5(val x: Int) {
constructor() : this(0)
private constructor(z: String) : this(z.length)
}
class TestNested
internal class TestInternal
protected class TestProtected
private class TestPrivate
}
fun Outer.<!EXTENSION_FUNCTION_SHADOWED_BY_INNER_CLASS_CONSTRUCTOR!>Test1<!>() {}
fun Outer.<!EXTENSION_FUNCTION_SHADOWED_BY_INNER_CLASS_CONSTRUCTOR!>Test2<!>(x: Int) {}
fun Outer.<!EXTENSION_FUNCTION_SHADOWED_BY_INNER_CLASS_CONSTRUCTOR!>Test3<!>(x: String) {}
fun <T> Outer.Test3(x: T) {}
fun <T : Number> Outer.<!EXTENSION_FUNCTION_SHADOWED_BY_INNER_CLASS_CONSTRUCTOR!>Test4<!>(x: T) {}
fun Outer.<!EXTENSION_FUNCTION_SHADOWED_BY_INNER_CLASS_CONSTRUCTOR!>Test5<!>() {}
fun Outer.Test5(z: String) {}
fun Outer.TestNested() {}
fun Outer.TestInternal() {}
fun Outer.TestProtected() {}
fun Outer.TestPrivate() {}
@@ -0,0 +1,89 @@
package
public fun Outer.Test1(): kotlin.Unit
public fun Outer.Test2(/*0*/ x: kotlin.Int): kotlin.Unit
public fun </*0*/ T> Outer.Test3(/*0*/ x: T): kotlin.Unit
public fun Outer.Test3(/*0*/ x: kotlin.String): kotlin.Unit
public fun </*0*/ T : kotlin.Number> Outer.Test4(/*0*/ x: T): kotlin.Unit
public fun Outer.Test5(): kotlin.Unit
public fun Outer.Test5(/*0*/ z: kotlin.String): kotlin.Unit
public fun Outer.TestInternal(): kotlin.Unit
public fun Outer.TestNested(): kotlin.Unit
public fun Outer.TestPrivate(): kotlin.Unit
public fun Outer.TestProtected(): kotlin.Unit
public final class Outer {
public constructor Outer()
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
public final inner class Test1 {
public constructor Test1()
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
}
public final inner class Test2 {
public constructor Test2(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
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
}
public final inner class Test3 {
public constructor Test3(/*0*/ x: kotlin.Any)
public final val x: 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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final inner class Test4</*0*/ T> {
public constructor Test4</*0*/ T>(/*0*/ x: T)
public final val x: T
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
}
public final inner class Test5 {
public constructor Test5()
public constructor Test5(/*0*/ x: kotlin.Int)
private constructor Test5(/*0*/ z: kotlin.String)
public final val x: kotlin.Int
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
}
internal final class TestInternal {
public constructor TestInternal()
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
}
public final class TestNested {
public constructor TestNested()
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
}
private final class TestPrivate {
public constructor TestPrivate()
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
}
protected final class TestProtected {
public constructor TestProtected()
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,32 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Test1 {
fun test1() {}
}
fun Test1.<!EXTENSION_SHADOWED_BY_MEMBER!>test1<!>() {}
interface Test2 {
fun test2(x: String) {}
}
fun Test2.test2(x: Any) {}
interface Test3 {
fun test3(x: Any) {}
}
fun Test3.<!EXTENSION_SHADOWED_BY_MEMBER!>test3<!>(x: String) {}
fun <T : Any?> Test3.test3(x: T) {}
interface Test4 {
fun <T> test4(x: T) {}
}
fun Test4.<!EXTENSION_SHADOWED_BY_MEMBER!>test4<!>(x: String) {}
interface Test5 {
fun <T> test5(x: T) {}
}
fun <T : Number> Test5.<!EXTENSION_SHADOWED_BY_MEMBER!>test5<!>(x: T) {}
interface Test6 {
fun <T : List<Any>> test6(x: T) {}
}
fun <T : Set<Any>> Test6.test6(x: T) {}
@@ -0,0 +1,51 @@
package
public fun Test1.test1(): kotlin.Unit
public fun Test2.test2(/*0*/ x: kotlin.Any): kotlin.Unit
public fun </*0*/ T> Test3.test3(/*0*/ x: T): kotlin.Unit
public fun Test3.test3(/*0*/ x: kotlin.String): kotlin.Unit
public fun Test4.test4(/*0*/ x: kotlin.String): kotlin.Unit
public fun </*0*/ T : kotlin.Number> Test5.test5(/*0*/ x: T): kotlin.Unit
public fun </*0*/ T : kotlin.collections.Set<kotlin.Any>> Test6.test6(/*0*/ x: T): kotlin.Unit
public interface Test1 {
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 test1(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Test2 {
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 test2(/*0*/ x: kotlin.String): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Test3 {
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 test3(/*0*/ x: kotlin.Any): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Test4 {
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 </*0*/ T> test4(/*0*/ x: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Test5 {
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 </*0*/ T> test5(/*0*/ x: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Test6 {
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 </*0*/ T : kotlin.collections.List<kotlin.Any>> test6(/*0*/ x: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,18 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface WithInvoke {
operator fun invoke()
operator fun invoke(s: String)
operator fun <T> invoke(x: T, y: Int)
fun invoke(i: Int)
}
interface Test1 {
val test1: WithInvoke
}
fun Test1.<!EXTENSION_FUNCTION_SHADOWED_BY_MEMBER_PROPERTY_WITH_INVOKE!>test1<!>() {}
fun Test1.<!EXTENSION_FUNCTION_SHADOWED_BY_MEMBER_PROPERTY_WITH_INVOKE!>test1<!>(s: String) {}
fun Test1.test1(i: Int) {}
fun Test1.<!EXTENSION_FUNCTION_SHADOWED_BY_MEMBER_PROPERTY_WITH_INVOKE!>test1<!>(x: Any, y: Int) {}
fun <T : Number> Test1.<!EXTENSION_FUNCTION_SHADOWED_BY_MEMBER_PROPERTY_WITH_INVOKE!>test1<!>(x: T, y: Int) {}
@@ -0,0 +1,24 @@
package
public fun Test1.test1(): kotlin.Unit
public fun </*0*/ T : kotlin.Number> Test1.test1(/*0*/ x: T, /*1*/ y: kotlin.Int): kotlin.Unit
public fun Test1.test1(/*0*/ x: kotlin.Any, /*1*/ y: kotlin.Int): kotlin.Unit
public fun Test1.test1(/*0*/ i: kotlin.Int): kotlin.Unit
public fun Test1.test1(/*0*/ s: kotlin.String): kotlin.Unit
public interface Test1 {
public abstract val test1: WithInvoke
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
}
public interface WithInvoke {
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 abstract operator fun invoke(): kotlin.Unit
public abstract operator fun </*0*/ T> invoke(/*0*/ x: T, /*1*/ y: kotlin.Int): kotlin.Unit
public abstract fun invoke(/*0*/ i: kotlin.Int): kotlin.Unit
public abstract operator fun invoke(/*0*/ s: kotlin.String): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,5 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
data class DataClass(val x: Int)
fun DataClass.<!EXTENSION_SHADOWED_BY_MEMBER!>component1<!>() = 42
@@ -0,0 +1,13 @@
package
public fun DataClass.component1(): kotlin.Int
public final data class DataClass {
public constructor DataClass(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public final operator /*synthesized*/ fun component1(): kotlin.Int
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ...): DataClass
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@@ -0,0 +1,5 @@
class C {
fun Int.foo() {}
}
fun C.foo() {}
@@ -0,0 +1,11 @@
package
public fun C.foo(): kotlin.Unit
public final class C {
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
public final fun kotlin.Int.foo(): kotlin.Unit
}
@@ -0,0 +1,7 @@
interface G<T> {
fun foo()
val bar: Int
}
fun <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>G<!>.foo() {}
val <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>G<!>.bar: Int get() = 42
@@ -0,0 +1,12 @@
package
public val [ERROR : G].bar: kotlin.Int
public fun [ERROR : G].foo(): kotlin.Unit
public interface G</*0*/ T> {
public abstract val bar: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(): 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,7 @@
interface Test {
fun foo()
val bar: Int
}
fun Test?.foo() {}
val Test?.bar: Int get() = 42
@@ -0,0 +1,12 @@
package
public val Test?.bar: kotlin.Int
public fun Test?.foo(): kotlin.Unit
public interface Test {
public abstract val bar: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(): 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,22 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Test1 {
val test1: Int
}
val Test1.<!EXTENSION_SHADOWED_BY_MEMBER!>test1<!>: Int get() = 42
interface Test2 {
var test2: Int
}
val Test2.<!EXTENSION_SHADOWED_BY_MEMBER!>test2<!>: Int get() = 42
interface Test3 {
val test3: Int
}
var Test3.<!EXTENSION_SHADOWED_BY_MEMBER!>test3<!>: Int get() = 42; set(v) {}
interface Test4 {
val test4: Int
}
var Test4.<!EXTENSION_SHADOWED_BY_MEMBER!>test4<!>: Int get() = 42; set(v) {}
@@ -0,0 +1,34 @@
package
public val Test1.test1: kotlin.Int
public val Test2.test2: kotlin.Int
public var Test3.test3: kotlin.Int
public var Test4.test4: kotlin.Int
public interface Test1 {
public abstract val test1: kotlin.Int
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
}
public interface Test2 {
public abstract var test2: kotlin.Int
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
}
public interface Test3 {
public abstract val test3: kotlin.Int
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
}
public interface Test4 {
public abstract val test4: kotlin.Int
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,16 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface IBase {
fun foo()
val bar: Int
}
object Impl : IBase {
override fun foo() {}
override val bar: Int get() = 42
}
object Test : IBase by Impl
fun Test.<!EXTENSION_SHADOWED_BY_MEMBER!>foo<!>() {}
val Test.<!EXTENSION_SHADOWED_BY_MEMBER!>bar<!>: Int get() = 42
@@ -0,0 +1,30 @@
package
public val Test.bar: kotlin.Int
public fun Test.foo(): kotlin.Unit
public interface IBase {
public abstract val bar: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public object Impl : IBase {
private constructor Impl()
public open override /*1*/ val bar: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public object Test : IBase {
private constructor Test()
public open override /*1*/ /*delegation*/ val bar: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*delegation*/ fun foo(): 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,47 @@
class WithPublicInvoke {
public operator fun invoke() {}
}
class WithInternalInvoke {
internal operator fun invoke() {}
}
class WithProtectedInvoke {
protected operator fun invoke() {}
}
class WithPrivateInvoke {
private operator fun invoke() {}
}
class Test {
public fun publicFoo() {}
internal fun internalFoo() {}
protected fun protectedFoo() {}
private fun privateFoo() {}
public val publicVal = 42
internal val internalVal = 42
protected val protectedVal = 42
private val privateVal = 42
public val withPublicInvoke = WithPublicInvoke()
public val withInternalInvoke = WithInternalInvoke()
public val withProtectedInvoke = WithProtectedInvoke()
public val withPrivateInvoke = WithPrivateInvoke()
}
private fun Test.<!EXTENSION_SHADOWED_BY_MEMBER!>publicFoo<!>() {}
fun Test.internalFoo() {}
fun Test.protectedFoo() {}
fun Test.privateFoo() {}
val Test.<!EXTENSION_SHADOWED_BY_MEMBER!>publicVal<!>: Int get() = 42
val Test.internalVal: Int get() = 42
val Test.protectedVal: Int get() = 42
val Test.privateVal: Int get() = 42
fun Test.<!EXTENSION_FUNCTION_SHADOWED_BY_MEMBER_PROPERTY_WITH_INVOKE!>withPublicInvoke<!>() {}
fun Test.wihtInternalInvoke() {}
fun Test.withProtectedInvoke() {}
fun Test.withPrivateInvoke() {}
@@ -0,0 +1,65 @@
package
public val Test.internalVal: kotlin.Int
public val Test.privateVal: kotlin.Int
public val Test.protectedVal: kotlin.Int
public val Test.publicVal: kotlin.Int
public fun Test.internalFoo(): kotlin.Unit
public fun Test.privateFoo(): kotlin.Unit
public fun Test.protectedFoo(): kotlin.Unit
private fun Test.publicFoo(): kotlin.Unit
public fun Test.wihtInternalInvoke(): kotlin.Unit
public fun Test.withPrivateInvoke(): kotlin.Unit
public fun Test.withProtectedInvoke(): kotlin.Unit
public fun Test.withPublicInvoke(): kotlin.Unit
public final class Test {
public constructor Test()
internal final val internalVal: kotlin.Int = 42
private final val privateVal: kotlin.Int = 42
protected final val protectedVal: kotlin.Int = 42
public final val publicVal: kotlin.Int = 42
public final val withInternalInvoke: WithInternalInvoke
public final val withPrivateInvoke: WithPrivateInvoke
public final val withProtectedInvoke: WithProtectedInvoke
public final val withPublicInvoke: WithPublicInvoke
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
internal final fun internalFoo(): kotlin.Unit
private final fun privateFoo(): kotlin.Unit
protected final fun protectedFoo(): kotlin.Unit
public final fun publicFoo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class WithInternalInvoke {
public constructor WithInternalInvoke()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
internal final operator fun invoke(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class WithPrivateInvoke {
public constructor WithPrivateInvoke()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
private final operator fun invoke(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class WithProtectedInvoke {
public constructor WithProtectedInvoke()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
protected final operator fun invoke(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class WithPublicInvoke {
public constructor WithPublicInvoke()
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 final operator fun invoke(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,7 @@
interface IFoo {
fun foo()
}
fun outer() {
fun IFoo.<!EXTENSION_SHADOWED_BY_MEMBER!>foo<!>() {}
}
@@ -0,0 +1,10 @@
package
public fun outer(): kotlin.Unit
public interface IFoo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(): 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,9 @@
interface IFooBar {
fun foo()
val bar: Int
}
class Host {
fun IFooBar.<!EXTENSION_SHADOWED_BY_MEMBER!>foo<!>() {}
val IFooBar.<!EXTENSION_SHADOWED_BY_MEMBER!>bar<!>: Int get() = 42
}
@@ -0,0 +1,18 @@
package
public final class Host {
public constructor Host()
public final val IFooBar.bar: kotlin.Int
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
public final fun IFooBar.foo(): kotlin.Unit
}
public interface IFooBar {
public abstract val bar: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(): 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 @@
interface Test {
fun invoke()
}
operator fun Test.invoke() {}
@@ -0,0 +1,10 @@
package
public operator fun Test.invoke(): kotlin.Unit
public interface Test {
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 abstract fun invoke(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}