Test fixes for 'New diagnostic error for ambiguous object expression type'
This commit is contained in:
@@ -6,12 +6,19 @@ inline fun <T> java.util.Enumeration<T>.iterator() = object: Iterator<T> {
|
||||
override fun next() = nextElement()
|
||||
}
|
||||
|
||||
fun <T : Any> T?.iterator() = object {
|
||||
trait MyIterator<T> {
|
||||
|
||||
fun hasNext() : Boolean
|
||||
|
||||
fun next() : T
|
||||
}
|
||||
|
||||
fun <T : Any> T?.iterator() = object : MyIterator<T> {
|
||||
var hasNext = this@iterator != null
|
||||
private set
|
||||
fun hasNext() = hasNext
|
||||
override fun hasNext() = hasNext
|
||||
|
||||
fun next() : T {
|
||||
override fun next() : T {
|
||||
if (hasNext) {
|
||||
hasNext = false
|
||||
return this@iterator!!
|
||||
@@ -26,3 +33,4 @@ fun main(args : Array<String>) {
|
||||
System.out.println(x)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,22 +1,27 @@
|
||||
// JET-81 Assertion fails when processing self-referring anonymous objects
|
||||
|
||||
val y = object {
|
||||
val a = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM, UNINITIALIZED_VARIABLE!>y<!>;
|
||||
}
|
||||
class Test {
|
||||
private val y = object {
|
||||
val a = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM, UNINITIALIZED_VARIABLE!>y<!>;
|
||||
}
|
||||
|
||||
val z = y.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>a<!>;
|
||||
val z = y.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>a<!>;
|
||||
|
||||
}
|
||||
|
||||
object A {
|
||||
val x = A
|
||||
}
|
||||
|
||||
val a = object {
|
||||
{
|
||||
<!UNINITIALIZED_VARIABLE, DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>b<!> <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!> 1
|
||||
class Test2 {
|
||||
private val a = object {
|
||||
{
|
||||
<!UNINITIALIZED_VARIABLE, DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>b<!> <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!> 1
|
||||
}
|
||||
val x = <!UNINITIALIZED_VARIABLE, DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>b<!>
|
||||
val y = 1
|
||||
}
|
||||
val x = <!UNINITIALIZED_VARIABLE, DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>b<!>
|
||||
val y = 1
|
||||
}
|
||||
|
||||
val b = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>a<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>x<!>
|
||||
val c = a.y
|
||||
val b = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>a<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>x<!>
|
||||
val c = a.y
|
||||
}
|
||||
@@ -11,12 +11,14 @@ fun test1() {
|
||||
doSmth(MyObject.<!INVISIBLE_MEMBER!>message<!>)
|
||||
}
|
||||
|
||||
val MyObject1 = object {
|
||||
private var message: String = "'Static'"
|
||||
}
|
||||
class Test {
|
||||
private val MyObject1 = object {
|
||||
private var message: String = "'Static'"
|
||||
}
|
||||
|
||||
fun test2() {
|
||||
doSmth(MyObject1.<!INVISIBLE_MEMBER!>message<!>)
|
||||
fun test2() {
|
||||
doSmth(MyObject1.<!INVISIBLE_MEMBER!>message<!>)
|
||||
}
|
||||
}
|
||||
|
||||
fun doSmth(s: String) = s
|
||||
Reference in New Issue
Block a user