Effective visibility is now considered private for invisible fake #KT-14469 Fixed

This commit is contained in:
Mikhail Glukhikh
2016-11-07 12:01:07 +03:00
parent afa58599ec
commit ce72337ebd
4 changed files with 41 additions and 2 deletions
@@ -0,0 +1,12 @@
// KT-14469: SOE during effective visibility evaluation
abstract class Base(private val v: String)
fun bar(arg: String) = arg
class Derived : Base("123") {
private <!NOTHING_TO_INLINE!>inline<!> fun foo() {
bar(<!INVISIBLE_MEMBER!>v<!>)
}
}
@@ -0,0 +1,20 @@
package
public fun bar(/*0*/ arg: kotlin.String): kotlin.String
public abstract class Base {
public constructor Base(/*0*/ v: kotlin.String)
private final val v: kotlin.String
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 Derived : Base {
public constructor Derived()
invisible_fake final override /*1*/ /*fake_override*/ val v: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
private final inline fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}