JVM IR: lookup symbols by name in ProgressionHandlers in known classes only
Alternatively, we could improve the lookup utilities and their usages to always find the exact override of a symbol from Collection/Iterable/CharSequence/etc, but since we need to load the original symbol anyway in cases when the loop subject's type is a type parameter, we might as well simplify everything and always reference the original symbol. Also improve exception message and removed unused declarations in IrBackendUtils.kt.
This commit is contained in:
+15
@@ -19531,6 +19531,16 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/ranges/forInCharSequenceWithMultipleGetFunctions.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("forInCustomCharSequence.kt")
|
||||
public void testForInCustomCharSequence() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ranges/forInCustomCharSequence.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("forInCustomIterable.kt")
|
||||
public void testForInCustomIterable() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ranges/forInCustomIterable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("forInRangeLiteralWithMixedTypeBounds.kt")
|
||||
public void testForInRangeLiteralWithMixedTypeBounds() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ranges/forInRangeLiteralWithMixedTypeBounds.kt");
|
||||
@@ -20265,6 +20275,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/ranges/forInIndices"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true);
|
||||
}
|
||||
|
||||
@TestMetadata("forInArrayListIndices.kt")
|
||||
public void testForInArrayListIndices() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ranges/forInIndices/forInArrayListIndices.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("forInCharSequenceIndices.kt")
|
||||
public void testForInCharSequenceIndices() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ranges/forInIndices/forInCharSequenceIndices.kt");
|
||||
|
||||
Reference in New Issue
Block a user