Don't lookup built-in classes by invalid names

#KT-5869 Fixed
This commit is contained in:
Alexander Udalov
2014-09-26 15:14:18 +04:00
parent 2227b87ca3
commit 19497262b3
5 changed files with 44 additions and 12 deletions
@@ -164,6 +164,6 @@ public class BuiltInsSerializer(val out: PrintStream?) {
}
fun getFileName(classDescriptor: ClassDescriptor): String {
return BuiltInsSerializationUtil.getClassMetadataPath(DeserializedResolverUtils.getClassId(classDescriptor))
return BuiltInsSerializationUtil.getClassMetadataPath(DeserializedResolverUtils.getClassId(classDescriptor))!!
}
}
@@ -0,0 +1,18 @@
// KT-5869
fun <T> Iterator<T>.iterator(): Iterator<T> = this
fun box(): String {
val iterator = object : Iterator<Int> {
var i = 0
override fun next() = i++
override fun hasNext() = i < 5
}
var result = ""
for (i in iterator) {
result += i
}
return if (result == "01234") "OK" else "Fail $result"
}
@@ -4971,6 +4971,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
doTest(fileName);
}
@TestMetadata("useAnonymousObjectAsIterator.kt")
public void testUseAnonymousObjectAsIterator() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/objects/useAnonymousObjectAsIterator.kt");
doTest(fileName);
}
}
@TestMetadata("compiler/testData/codegen/box/operatorConventions")