New smap test

This commit is contained in:
Michael Bogdanov
2015-01-29 15:13:11 +03:00
parent 57cf4ac6c0
commit 5c6b9b1bc6
29 changed files with 817 additions and 0 deletions
@@ -0,0 +1,46 @@
import builders.*
import kotlin.InlineOption.*
fun test(): String {
var res = "Fail"
call {
res = "OK"
}
return res
}
fun box(): String {
return test()
}
//SMAP
//lambda.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambda.1.kt
//_DefaultPackage
//+ 2 lambda.2.kt
//builders/BuildersPackage
//*L
//1#1,46:1
//4#2:47
//*E
//
//SMAP
//lambda.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambda.2.kt
//builders/BuildersPackage$lambda_2$HASH$call$1
//+ 2 lambda.1.kt
//_DefaultPackage$lambda_1$HASH
//*L
//1#1,18:1
//8#2:19
//*E
@@ -0,0 +1,18 @@
package builders
inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) {
return {
init()
}()
}
//SMAP
//lambda.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambda.2.kt
//builders/BuildersPackage$lambda_2$HASH$call$1
//*L
//1#1,18:1
//*E
@@ -0,0 +1,34 @@
import builders.*
import kotlin.InlineOption.*
fun test(): String {
var res = "Fail"
call {
{
res = "OK"
}()
}
return res
}
fun box(): String {
return test()
}
//SMAP
//lambdaOnCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambdaOnCallSite.1.kt
//_DefaultPackage
//+ 2 lambdaOnCallSite.2.kt
//builders/BuildersPackage
//*L
//1#1,34:1
//4#2:35
//*E
@@ -0,0 +1,7 @@
package builders
inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) {
return init()
}
//SMAP ABSENT
@@ -0,0 +1,56 @@
import builders.*
import kotlin.InlineOption.*
inline fun test(): String {
var res = "Fail"
call {
{
res = "OK"
}()
}
return res
}
fun box(): String {
return test()
}
//TODO SHOULD BE LESS
//SMAP
//lambdaOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambdaOnInlineCallSite.1.kt
//_DefaultPackage
//+ 2 lambdaOnInlineCallSite.2.kt
//builders/BuildersPackage
//*L
//1#1,56:1
//4#2:57
//*E
//
//SMAP
//lambdaOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambdaOnInlineCallSite.1.kt
//_DefaultPackage$lambdaOnInlineCallSite_1$HASH$test$1$1
//*L
//1#1,56:1
//*E
//
//SMAP
//lambdaOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 lambdaOnInlineCallSite.1.kt
//_DefaultPackage$lambdaOnInlineCallSite_1$HASH$test$1$1
//*L
//1#1,56:1
//*E
@@ -0,0 +1,7 @@
package builders
inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) {
return init()
}
//SMAP ABSENT
@@ -0,0 +1,45 @@
import builders.*
import kotlin.InlineOption.*
fun test(): String {
var res = "Fail"
call {
res = "OK"
}
return res
}
fun box(): String {
return test()
}
//SMAP
//object.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 object.1.kt
//_DefaultPackage
//+ 2 object.2.kt
//builders/BuildersPackage
//*L
//1#1,45:1
//4#2,5:46
//*E
//
//SMAP
//object.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 object.2.kt
//builders/BuildersPackage$object_2$HASH$call$1
//+ 2 object.1.kt
//_DefaultPackage$object_1$HASH
//*L
//1#1,21:1
//8#2:22
//*E
@@ -0,0 +1,21 @@
package builders
inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) {
return object {
fun run () {
init()
}
}.run()
}
//SMAP
//object.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 object.2.kt
//builders/BuildersPackage$object_2$HASH$call$1
//*L
//1#1,21:1
//*E
@@ -0,0 +1,36 @@
import builders.*
import kotlin.InlineOption.*
fun test(): String {
var res = "Fail"
call {
object {
fun run () {
res = "OK"
}
}.run()
}
return res
}
fun box(): String {
return test()
}
//SMAP
//objectOnCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnCallSite.1.kt
//_DefaultPackage
//+ 2 objectOnCallSite.2.kt
//builders/BuildersPackage
//*L
//1#1,36:1
//4#2:37
//*E
@@ -0,0 +1,7 @@
package builders
inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) {
return init()
}
//SMAP ABSENT
@@ -0,0 +1,58 @@
import builders.*
import kotlin.InlineOption.*
inline fun test(): String {
var res = "Fail"
call {
object {
fun run () {
res = "OK"
}
}.run()
}
return res
}
fun box(): String {
return test()
}
//TODO SHOULD BE LESS
//SMAP
//objectOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite.1.kt
//_DefaultPackage
//+ 2 objectOnInlineCallSite.2.kt
//builders/BuildersPackage
//*L
//1#1,58:1
//4#2:59
//*E
//
//SMAP
//objectOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite.1.kt
//_DefaultPackage$objectOnInlineCallSite_1$HASH$test$1$1
//*L
//1#1,58:1
//*E
//
//SMAP
//objectOnInlineCallSite.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite.1.kt
//_DefaultPackage$objectOnInlineCallSite_1$HASH$test$1$1
//*L
//1#1,58:1
//*E
@@ -0,0 +1,7 @@
package builders
inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) {
return init()
}
//SMAP ABSENT
@@ -0,0 +1,32 @@
import builders.*
import kotlin.InlineOption.*
fun box(): String {
return test()
}
//SMAP
//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
//
//SMAP
//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
@@ -0,0 +1,42 @@
package builders
inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit) {
return init()
}
inline fun test(): String {
var res = "Fail"
call {
object {
fun run () {
res = "OK"
}
}.run()
}
return res
}
//TODO SHOULD BE LESS
//SMAP
//objectOnInlineCallSite2.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 objectOnInlineCallSite2.2.kt
//builders/BuildersPackage
//*L
//1#1,42:1
//*E
//
//SMAP
//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
@@ -0,0 +1,25 @@
import test.*
fun box(): String {
massert(true)
massert(true) {
"test"
}
return "OK"
}
//SMAP
//assertion.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 assertion.1.kt
//_DefaultPackage
//+ 2 assertion.2.kt
//test/TestPackage
//*L
//1#1,25:1
//15#2,7:26
//6#2,7:33
//*E
@@ -0,0 +1,34 @@
package test
public val MASSERTIONS_ENABLED: Boolean = true
public inline fun massert(value: Boolean, lazyMessage: () -> String) {
if (MASSERTIONS_ENABLED) {
if (!value) {
val message = lazyMessage()
throw AssertionError(message)
}
}
}
public inline fun massert(value: Boolean, message: Any = "Assertion failed") {
if (ASSERTIONS_ENABLED) {
if (!value) {
throw AssertionError(message)
}
}
}
//TODO SHOUDL BE ABSENT
//SMAP
//assertion.2.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 assertion.2.kt
//test/TestPackage
//*L
//1#1,34:1
//*E
@@ -0,0 +1,22 @@
fun box(): String {
return test {
"K"
}
}
inline fun test(p: () -> String): String {
var pd = ""
pd = "O"
return pd + p()
}
//TODO should be empty
//SMAP
//oneFile.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 oneFile.1.kt
//_DefaultPackage
//*L
//1#1,22:1
//*E
@@ -0,0 +1,5 @@
package zzz
inline fun nothing() {}
//SMAP ABSENT
@@ -0,0 +1,38 @@
import builders.*
import kotlin.InlineOption.*
inline fun test(): String {
var res = "Fail"
html {
head {
res = "OK"
}
}
return res
}
fun box(): String {
var expected = test();
return expected
}
//SMAP
//smap.1.kt
//Kotlin
//*S Kotlin
//*F
//+ 1 smap.1.kt
//_DefaultPackage
//+ 2 smap.2.kt
//builders/BuildersPackage
//*L
//1#1,38:1
//16#2:39
//4#2,9:40
//8#2,3:49
//5#2:52
//*E
@@ -0,0 +1,28 @@
package builders
inline fun init(init: () -> Unit) {
init()
}
inline fun initTag2(init: () -> Unit) {
val p = 1;
init()
}
inline fun head(init: () -> Unit) = initTag2(init)
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/BuildersPackage
//*L
//1#1,28:1
//*E