Refactor code (rename allTypes matcher to anyType) and create unwrap*() methods which converts wrapped with Value values to raw Kotlin's objects

This commit is contained in:
2020-03-14 14:10:31 +01:00
parent 5b03f55cd4
commit d3f6138a8b
8 changed files with 60 additions and 54 deletions

View File

@@ -3,12 +3,12 @@ package io.smnp.ext.io.function
import io.smnp.callable.function.Function
import io.smnp.callable.function.FunctionDefinitionTool
import io.smnp.callable.signature.Signature.Companion.vararg
import io.smnp.type.matcher.Matcher.Companion.allTypes
import io.smnp.type.matcher.Matcher.Companion.anyType
import io.smnp.type.model.Value
class PrintlnFunction : Function("println") {
override fun define(new: FunctionDefinitionTool) {
new function vararg(allTypes()) body { _, (vararg) ->
new function vararg(anyType()) body { _, (vararg) ->
println((vararg.value as List<Value>).joinToString("") { it.stringify() })
Value.void()
}