KT-11721 Wrong "Typechecker has run into recursive problem" on calling kotlin get function as synthetic property

#KT-11721 Fixed
This commit is contained in:
Pavel V. Talanov
2016-03-31 18:50:59 +03:00
parent d5d19f5595
commit d7dc122298
6 changed files with 55 additions and 2 deletions
@@ -0,0 +1,3 @@
class B {
fun getA() = <!UNRESOLVED_REFERENCE!>a<!>
}
@@ -0,0 +1,9 @@
package
public final class B {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun getA(): [ERROR : Error function type]
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,12 @@
// FILE: X.java
public class X {
int getFoo() {return 3;}
}
// FILE: Usage.kt
class A : X() {
// TODO: DEBUG_INFO_MISSING_UNRESOLVED indicates a bug here
override fun getFoo() = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM, DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>
}
@@ -0,0 +1,17 @@
package
public final class A : X {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected open override /*1*/ fun getFoo(): [ERROR : Error function type]
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open fun getFoo(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}