Inline iterator test
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
import zzz.*
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
var (p, l) = A(1, 11)
|
||||||
|
|
||||||
|
return if (p == 1 && l == 11) "OK" else "fail: $p"
|
||||||
|
}
|
||||||
|
|
||||||
|
//SMAP
|
||||||
|
//inlineComponent.1.kt
|
||||||
|
//Kotlin
|
||||||
|
//*S Kotlin
|
||||||
|
//*F
|
||||||
|
//+ 1 inlineComponent.1.kt
|
||||||
|
//_DefaultPackage
|
||||||
|
//+ 2 inlineComponent.2.kt
|
||||||
|
//zzz/ZzzPackage
|
||||||
|
//*L
|
||||||
|
//1#1,21:1
|
||||||
|
//5#2,3:22
|
||||||
|
//*E
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package zzz
|
||||||
|
|
||||||
|
public class A(val a: Int, val b: Int)
|
||||||
|
|
||||||
|
inline fun A.component1() = a
|
||||||
|
|
||||||
|
inline fun A.component2() = b
|
||||||
|
|
||||||
|
//SMAP ABSENT
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
import zzz.*
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
var p = 0
|
||||||
|
for (i in A(5)) {
|
||||||
|
p += i
|
||||||
|
}
|
||||||
|
|
||||||
|
return if (p == 15) "OK" else "fail: $p"
|
||||||
|
}
|
||||||
|
|
||||||
|
//SMAP
|
||||||
|
//inlineIterator.1.kt
|
||||||
|
//Kotlin
|
||||||
|
//*S Kotlin
|
||||||
|
//*F
|
||||||
|
//+ 1 inlineIterator.1.kt
|
||||||
|
//_DefaultPackage
|
||||||
|
//+ 2 inlineIterator.2.kt
|
||||||
|
//zzz/ZzzPackage
|
||||||
|
//*L
|
||||||
|
//1#1,24:1
|
||||||
|
//5#2:25
|
||||||
|
//*E
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package zzz
|
||||||
|
|
||||||
|
public class A(val p: Int)
|
||||||
|
|
||||||
|
inline fun A.iterator() = (1..p).iterator()
|
||||||
|
|
||||||
|
//SMAP ABSENT
|
||||||
+22
@@ -742,6 +742,7 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
|
|||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@InnerTestClasses({
|
@InnerTestClasses({
|
||||||
Smap.Anonymous.class,
|
Smap.Anonymous.class,
|
||||||
|
Smap.Resolve.class,
|
||||||
})
|
})
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
public static class Smap extends AbstractBlackBoxInlineCodegenTest {
|
public static class Smap extends AbstractBlackBoxInlineCodegenTest {
|
||||||
@@ -823,6 +824,27 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
|
|||||||
doTestMultiFileWithInlineCheck(fileName);
|
doTestMultiFileWithInlineCheck(fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/boxInline/smap/resolve")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Resolve extends AbstractBlackBoxInlineCodegenTest {
|
||||||
|
public void testAllFilesPresentInResolve() throws Exception {
|
||||||
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/smap/resolve"), Pattern.compile("^(.+)\\.1.kt$"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inlineComponent.1.kt")
|
||||||
|
public void testInlineComponent() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/smap/resolve/inlineComponent.1.kt");
|
||||||
|
doTestMultiFileWithInlineCheck(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inlineIterator.1.kt")
|
||||||
|
public void testInlineIterator() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/smap/resolve/inlineIterator.1.kt");
|
||||||
|
doTestMultiFileWithInlineCheck(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/boxInline/special")
|
@TestMetadata("compiler/testData/codegen/boxInline/special")
|
||||||
|
|||||||
+22
@@ -742,6 +742,7 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
|
|||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@InnerTestClasses({
|
@InnerTestClasses({
|
||||||
Smap.Anonymous.class,
|
Smap.Anonymous.class,
|
||||||
|
Smap.Resolve.class,
|
||||||
})
|
})
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
public static class Smap extends AbstractCompileKotlinAgainstInlineKotlinTest {
|
public static class Smap extends AbstractCompileKotlinAgainstInlineKotlinTest {
|
||||||
@@ -823,6 +824,27 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
|
|||||||
doBoxTestWithInlineCheck(fileName);
|
doBoxTestWithInlineCheck(fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/boxInline/smap/resolve")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Resolve extends AbstractCompileKotlinAgainstInlineKotlinTest {
|
||||||
|
public void testAllFilesPresentInResolve() throws Exception {
|
||||||
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/smap/resolve"), Pattern.compile("^(.+)\\.1.kt$"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inlineComponent.1.kt")
|
||||||
|
public void testInlineComponent() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/smap/resolve/inlineComponent.1.kt");
|
||||||
|
doBoxTestWithInlineCheck(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inlineIterator.1.kt")
|
||||||
|
public void testInlineIterator() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/smap/resolve/inlineIterator.1.kt");
|
||||||
|
doBoxTestWithInlineCheck(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/boxInline/special")
|
@TestMetadata("compiler/testData/codegen/boxInline/special")
|
||||||
|
|||||||
Reference in New Issue
Block a user