ForLoopsLowering: Handle Iterable.withIndex() where the type is a

bounded type parameter.

TODO: Handle Sequences by extending DefaultIterableHandler.
This commit is contained in:
Mark Punzalan
2019-11-26 23:19:00 -08:00
committed by max-kammerer
parent e8252ea874
commit 1a2e09e6a5
20 changed files with 231 additions and 12 deletions
@@ -5399,6 +5399,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/controlStructures/forInCharSequenceWithIndex/forInCharSeqWithIndexStops.kt");
}
@TestMetadata("forInCharSequenceTypeParameterWithIndex.kt")
public void testForInCharSequenceTypeParameterWithIndex() throws Exception {
runTest("compiler/testData/codegen/box/controlStructures/forInCharSequenceWithIndex/forInCharSequenceTypeParameterWithIndex.kt");
}
@TestMetadata("forInCharSequenceWithIndex.kt")
public void testForInCharSequenceWithIndex() throws Exception {
runTest("compiler/testData/codegen/box/controlStructures/forInCharSequenceWithIndex/forInCharSequenceWithIndex.kt");
@@ -5472,6 +5477,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/controlStructures/forInIterableWithIndex/forInEmptyListWithIndex.kt");
}
@TestMetadata("forInIterableTypeParameterWithIndex.kt")
public void testForInIterableTypeParameterWithIndex() throws Exception {
runTest("compiler/testData/codegen/box/controlStructures/forInIterableWithIndex/forInIterableTypeParameterWithIndex.kt");
}
@TestMetadata("forInIterableWithIndexCheckSideEffects.kt")
public void testForInIterableWithIndexCheckSideEffects() throws Exception {
runTest("compiler/testData/codegen/box/controlStructures/forInIterableWithIndex/forInIterableWithIndexCheckSideEffects.kt");
@@ -5530,6 +5540,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/controlStructures/forInSequenceWithIndex/forInEmptySequenceWithIndex.kt");
}
@TestMetadata("forInSequenceTypeParameterWithIndex.kt")
public void testForInSequenceTypeParameterWithIndex() throws Exception {
runTest("compiler/testData/codegen/box/controlStructures/forInSequenceWithIndex/forInSequenceTypeParameterWithIndex.kt");
}
@TestMetadata("forInSequenceWithIndex.kt")
public void testForInSequenceWithIndex() throws Exception {
runTest("compiler/testData/codegen/box/controlStructures/forInSequenceWithIndex/forInSequenceWithIndex.kt");