Improve test data format for SMAP codegen tests

Instead of comments in a Kotlin source file, add a .smap with the contents of
the source mapping data (and possible comments)
This commit is contained in:
Alexander Udalov
2016-02-24 14:48:36 +03:00
committed by Alexander Udalov
parent cc84aabdcf
commit f7958edf21
19 changed files with 426 additions and 390 deletions
+43 -40
View File
@@ -8,22 +8,11 @@ inline fun call(crossinline init: () -> Unit) {
}()
}
//SMAP
//lambda.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambda.2.kt
//builders/Lambda_2Kt$call$1
//*L
//1#1,18:1
//*E
// FILE: 2.kt
import builders.*
//NO_CHECK_LAMBDA_INLINING
fun test(): String {
var res = "Fail"
@@ -38,32 +27,46 @@ fun test(): String {
fun box(): String {
return test()
}
//NO_CHECK_LAMBDA_INLINING
//SMAP
//lambda.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambda.1.kt
//Lambda_1Kt
//+ 2 lambda.2.kt
//builders/Lambda_2Kt
//*L
//1#1,46:1
//4#2:47
//*E
//
//SMAP
//lambda.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambda.2.kt
//builders/Lambda_2Kt$call$1
//+ 2 lambda.1.kt
//Lambda_1Kt
//*L
//1#1,18:1
//8#2,2:19
//*E
// FILE: 1.smap
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
builders/_1Kt$call$1
*L
1#1,11:1
*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
builders/_1Kt
*L
1#1,21:1
6#2:22
*E
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
builders/_1Kt$call$1
+ 2 2.kt
_2Kt
*L
1#1,11:1
10#2,2:12
*E
@@ -6,7 +6,6 @@ inline fun call(crossinline init: () -> Unit) {
return init()
}
//NO_CHECK_LAMBDA_INLINING
//SMAP ABSENT
// FILE: 2.kt
@@ -30,17 +29,20 @@ fun box(): String {
return test()
}
// FILE: 1.smap
//SMAP
//lambdaOnCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambdaOnCallSite.1.kt
//LambdaOnCallSite_1Kt
//+ 2 lambdaOnCallSite.2.kt
//builders/LambdaOnCallSite_2Kt
//*L
//1#1,34:1
//4#2:35
//*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
builders/_1Kt
*L
1#1,23:1
6#2:24
*E
@@ -6,8 +6,6 @@ inline fun call(crossinline init: () -> Unit) {
return init()
}
//SMAP ABSENT
// FILE: 2.kt
import builders.*
@@ -30,39 +28,44 @@ fun box(): String {
return test()
}
//NO_CHECK_LAMBDA_INLINING
// FILE: 1.smap
// FILE: 2.smap
//TODO SHOULD BE LESS
//SMAP
//lambdaOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambdaOnInlineCallSite.1.kt
//LambdaOnInlineCallSite_1Kt
//+ 2 lambdaOnInlineCallSite.2.kt
//builders/LambdaOnInlineCallSite_2Kt
//*L
//1#1,56:1
//4#2:57
//*E
//
//SMAP
//lambdaOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambdaOnInlineCallSite.1.kt
//LambdaOnInlineCallSite_1Kt$test$1$1
//*L
//1#1,56:1
//*E
//
//SMAP
//lambdaOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambdaOnInlineCallSite.1.kt
//LambdaOnInlineCallSite_1Kt$test$1$1
//*L
//1#1,56:1
//*E
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
builders/_1Kt
*L
1#1,24:1
6#2:25
*E
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt$test$1$1
*L
1#1,24:1
*E
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt$test$1$1
*L
1#1,24:1
*E
+43 -39
View File
@@ -10,18 +10,6 @@ inline fun call(crossinline init: () -> Unit) {
}.run()
}
//SMAP
//object.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 object.2.kt
//builders/Object_2Kt$call$1
//*L
//1#1,21:1
//*E
// FILE: 2.kt
import builders.*
@@ -42,30 +30,46 @@ fun box(): String {
return test()
}
//NO_CHECK_LAMBDA_INLINING
//SMAP
//object.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 object.1.kt
//Object_1Kt
//+ 2 object.2.kt
//builders/Object_2Kt
//*L
//1#1,45:1
//4#2,5:46
//*E
//
//SMAP
//object.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 object.2.kt
//builders/Object_2Kt$call$1
//+ 2 object.1.kt
//Object_1Kt
//*L
//1#1,21:1
//8#2,2:22
//*E
// FILE: 1.smap
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
builders/_1Kt$call$1
*L
1#1,13:1
*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
builders/_1Kt
*L
1#1,22:1
6#2,5:23
*E
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
builders/_1Kt$call$1
+ 2 2.kt
_2Kt
*L
1#1,13:1
10#2,2:14
*E
@@ -6,8 +6,6 @@ inline fun call(crossinline init: () -> Unit) {
return init()
}
//SMAP ABSENT
// FILE: 2.kt
import builders.*
@@ -33,16 +31,21 @@ fun box(): String {
}
//NO_CHECK_LAMBDA_INLINING
// FILE: 1.smap
// FILE: 2.smap
//SMAP
//objectOnCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnCallSite.1.kt
//ObjectOnCallSite_1Kt
//+ 2 objectOnCallSite.2.kt
//builders/ObjectOnCallSite_2Kt
//*L
//1#1,36:1
//4#2:37
//*E
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
builders/_1Kt
*L
1#1,26:1
6#2:27
*E
@@ -6,8 +6,6 @@ inline fun call(crossinline init: () -> Unit) {
return init()
}
//SMAP ABSENT
// FILE: 2.kt
import builders.*
@@ -32,39 +30,44 @@ fun box(): String {
return test()
}
//NO_CHECK_LAMBDA_INLINING
// FILE: 1.smap
// FILE: 2.smap
//TODO SHOULD BE LESS
//SMAP
//objectOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite.1.kt
//ObjectOnInlineCallSite_1Kt
//+ 2 objectOnInlineCallSite.2.kt
//builders/ObjectOnInlineCallSite_2Kt
//*L
//1#1,58:1
//4#2:59
//*E
//
//SMAP
//objectOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite.1.kt
//ObjectOnInlineCallSite_1Kt$test$1$1
//*L
//1#1,58:1
//*E
//
//SMAP
//objectOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite.1.kt
//ObjectOnInlineCallSite_1Kt$test$1$1
//*L
//1#1,58:1
//*E
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
builders/_1Kt
*L
1#1,26:1
6#2:27
*E
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt$test$1$1
*L
1#1,26:1
*E
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt$test$1$1
*L
1#1,26:1
*E
@@ -19,29 +19,6 @@ inline fun test(): String {
return res
}
//TODO SHOULD BE LESS
//SXMAP
//objectOnInlineCallSite2.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite2.2.kt
//builders/BuildersPackage
//*L
//1#1,42:1
//*E
//
//SXMAP
//objectOnInlineCallSite2.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite2.2.kt
//builders/BuildersPackage$objectOnInlineCallSite2_2$HASH$test$1$1
//*L
//1#1,42:1
//*E
// FILE: 2.kt
@@ -53,27 +30,55 @@ fun box(): String {
}
//NO_CHECK_LAMBDA_INLINING
//SXMAP
//objectOnInlineCallSite2.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite2.1.kt
//_DefaultPackage
//+ 2 objectOnInlineCallSite2.2.kt
//builders/BuildersPackage
//*L
//1#1,32:1
//8#2,11:33
//*E
//
//SXMAP
//objectOnInlineCallSite2.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite2.2.kt
//builders/BuildersPackage$objectOnInlineCallSite2_2$HASH$test$1$1
//*L
//1#1,42:1
//*E
// FILE: 1.sxmap
//TODO SHOULD BE LESS
SXMAP
objectOnInlineCallSite2.2.kt
Kotlin
*S Kotlin
*F
+ 1 objectOnInlineCallSite2.2.kt
builders/BuildersPackage
*L
1#1,42:1
*E
SXMAP
objectOnInlineCallSite2.2.kt
Kotlin
*S Kotlin
*F
+ 1 objectOnInlineCallSite2.2.kt
builders/BuildersPackage$objectOnInlineCallSite2_2$HASH$test$1$1
*L
1#1,42:1
*E
// FILE: 2.sxmap
SXMAP
objectOnInlineCallSite2.1.kt
Kotlin
*S Kotlin
*F
+ 1 objectOnInlineCallSite2.1.kt
_DefaultPackage
+ 2 objectOnInlineCallSite2.2.kt
builders/BuildersPackage
*L
1#1,32:1
8#2,11:33
*E
SXMAP
objectOnInlineCallSite2.2.kt
Kotlin
*S Kotlin
*F
+ 1 objectOnInlineCallSite2.2.kt
builders/BuildersPackage$objectOnInlineCallSite2_2$HASH$test$1$1
*L
1#1,42:1
*E
+18 -16
View File
@@ -22,8 +22,6 @@ public inline fun massert(value: Boolean, message: Any = "Assertion failed") {
}
}
//SMAP ABSENT
// FILE: 2.kt
import test.*
@@ -37,17 +35,21 @@ fun box(): String {
return "OK"
}
//SMAP
//assertion.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 assertion.1.kt
//Assertion_1Kt
//+ 2 assertion.2.kt
//test/Assertion_2Kt
//*L
//1#1,25:1
//15#2,7:26
//6#2,7:33
//*E
// FILE: 1.smap
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
*L
1#1,14:1
17#2,7:15
8#2,7:22
*E
@@ -12,16 +12,18 @@ fun box(): String {
return "OK"
}
//SMAP
//classFromDefaultPackage.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 classFromDefaultPackage.1.kt
//ClassFromDefaultPackage_1Kt
//+ 2 classFromDefaultPackage.2.kt
//A
//*L
//1#1,20:1
//2#2:21
//*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
A
*L
1#1,9:1
4#2:10
*E
+12 -10
View File
@@ -11,13 +11,15 @@ fun box(): String {
return "KO".reversed()
}
//SMAP
//noSmap.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 noSmap.1.kt
//NoSmap_1Kt
//*L
//1#1,14:1
//*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
*L
1#1,7:1
*E
@@ -15,16 +15,18 @@ fun box(): String {
return "OK"
}
//SMAP
//reified.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 reified.1.kt
//Reified_1Kt
//+ 2 reified.2.kt
//test/Reified_2Kt
//*L
//1#1,22:1
//3#2:23
//*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
*L
1#1,12:1
5#2:13
*E
+15 -12
View File
@@ -4,8 +4,6 @@ package zzz
inline fun nothing() {}
//SMAP ABSENT
// FILE: 2.kt
fun box(): String {
@@ -19,14 +17,19 @@ inline fun test(p: () -> String): String {
pd = "O"
return pd + p()
}
// FILE: 1.smap
// FILE: 2.smap
//TODO should be empty
//SMAP
//oneFile.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 oneFile.1.kt
//OneFile_1Kt
//*L
//1#1,22:1
//*E
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
*L
1#1,15:1
*E
@@ -8,8 +8,6 @@ operator inline fun A.component1() = a
operator inline fun A.component2() = b
//SMAP ABSENT
// FILE: 2.kt
import zzz.*
@@ -20,16 +18,20 @@ fun box(): String {
return if (p == 1 && l == 11) "OK" else "fail: $p"
}
//SMAP
//inlineComponent.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 inlineComponent.1.kt
//InlineComponent_1Kt
//+ 2 inlineComponent.2.kt
//zzz/InlineComponent_2Kt
//*L
//1#1,21:1
//5#2,3:22
//*E
// FILE: 1.smap
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
zzz/_1Kt
*L
1#1,11:1
7#2,3:12
*E
@@ -6,8 +6,6 @@ public class A(val p: Int)
operator inline fun A.iterator() = (1..p).iterator()
//SMAP ABSENT
// FILE: 2.kt
import zzz.*
@@ -21,16 +19,20 @@ fun box(): String {
return if (p == 15) "OK" else "fail: $p"
}
//SMAP
//inlineIterator.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 inlineIterator.1.kt
//InlineIterator_1Kt
//+ 2 inlineIterator.2.kt
//zzz/InlineIterator_2Kt
//*L
//1#1,24:1
//5#2:25
//*E
// FILE: 1.smap
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
zzz/_1Kt
*L
1#1,14:1
7#2:15
*E
+32 -27
View File
@@ -17,17 +17,6 @@ inline fun head(init: () -> Unit) {val p = initTag2(init); return p}
inline fun html(init: () -> Unit) {
return init(init)
}
//TODO SHOULD BE EMPTY
//SMAP
//smap.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 smap.2.kt
//builders/Smap_2Kt
//*L
//1#1,28:1
//*E
// FILE: 2.kt
@@ -53,19 +42,35 @@ fun box(): String {
return expected
}
//SMAP
//smap.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 smap.1.kt
//Smap_1Kt
//+ 2 smap.2.kt
//builders/Smap_2Kt
//*L
//1#1,38:1
//16#2:39
//4#2,9:40
//8#2,3:49
//5#2:52
//*E
// FILE: 1.smap
//TODO SHOULD BE EMPTY
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
builders/_1Kt
*L
1#1,21:1
*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
builders/_1Kt
*L
1#1,25:1
18#2:26
6#2,9:27
10#2,3:36
7#2:39
*E