# KotlinClosure2

class KotlinClosure2<in T, in U, V : Any>(val function: (T, U) -> V?, owner: Any? = null, thisObject: Any? = null) : Closure<V?> (source)

Adapts a binary Kotlin function to a binary Groovy Closure.

#### Since

4.1

#### Parameters

function

the function to be adapted.

owner

optional owner of the Closure.

thisObject

optional this Object of the Closure.

#### Type Parameters

T

the type of the first argument.

U

the type of the second argument.

V

the return type.

#### See also

Closure

## Constructors

KotlinClosure2
Link copied to clipboard
constructor(function: (T, U) -> V?, owner: Any? = null, thisObject: Any? = null)

## Properties

delegate
Link copied to clipboard
open override var delegate: Any?
directive
Link copied to clipboard
open override var directive: Int
function
Link copied to clipboard
val function: (T, U) -> V?
maximumNumberOfParameters
Link copied to clipboard
open override val maximumNumberOfParameters: Int
metaClass
Link copied to clipboard
open var metaClass: MetaClass?
owner
Link copied to clipboard
open override val owner: Any?
parameterTypes
Link copied to clipboard
open override val parameterTypes: Array<out Class<*>?>?
resolveStrategy
Link copied to clipboard
open override var resolveStrategy: Int
thisObject
Link copied to clipboard
open override val thisObject: Any?

## Functions

andThen
Link copied to clipboard
open fun <W : Any?> andThen(other: Closure<W?>?): Closure<W?>?
andThenSelf
Link copied to clipboard
open fun andThenSelf(): Closure<V?>?
open fun andThenSelf(times: Int): Closure<V?>?
asWritable
Link copied to clipboard
open fun asWritable(): Closure<*>?
call
Link copied to clipboard
open fun call(arguments: Any?): V?
open fun call(vararg arguments: Any?): V?
open fun call(): V?
clone
Link copied to clipboard
open fun clone(): Any
compose
Link copied to clipboard
open fun compose(other: Closure<*>?): Closure<V?>?
composeSelf
Link copied to clipboard
open fun composeSelf(): Closure<V?>?
open fun composeSelf(times: Int): Closure<V?>?
curry
Link copied to clipboard
open fun curry(argument: Any?): Closure<V?>?
open fun curry(vararg arguments: Any?): Closure<V?>?
dehydrate
Link copied to clipboard
open fun dehydrate(): Closure<V?>?
doCall
Link copied to clipboard
fun doCall(t: T, u: U): V?
getProperty
Link copied to clipboard
open fun getProperty(property: String?): Any?
invoke
Link copied to clipboard
operator fun <T> Closure<T>.invoke(): T
operator fun <T> Closure<T>.invoke(x: Any?): T
operator fun <T> Closure<T>.invoke(vararg xs: Any?): T

Enables function invocation syntax on Closure references.

operator fun <V> Callable<V>.invoke(): V

Enables function invocation syntax on Callable references.

invokeMethod
Link copied to clipboard
open fun invokeMethod(name: String?, args: Any?): Any?
isCase
Link copied to clipboard
open fun isCase(candidate: Any?): Boolean
leftShift
Link copied to clipboard
open fun leftShift(other: Closure<*>?): Closure<V?>?
open fun leftShift(arg: Any?): V?
memoize
Link copied to clipboard
open fun memoize(): Closure<V?>?
memoizeAtLeast
Link copied to clipboard
open fun memoizeAtLeast(protectedCacheSize: Int): Closure<V?>?
memoizeAtMost
Link copied to clipboard
open fun memoizeAtMost(maxCacheSize: Int): Closure<V?>?
memoizeBetween
Link copied to clipboard
open fun memoizeBetween(protectedCacheSize: Int, maxCacheSize: Int): Closure<V?>?
ncurry
Link copied to clipboard
open fun ncurry(n: Int, argument: Any?): Closure<V?>?
open fun ncurry(n: Int, vararg arguments: Any?): Closure<V?>?
rcurry
Link copied to clipboard
open fun rcurry(argument: Any?): Closure<V?>?
open fun rcurry(vararg arguments: Any?): Closure<V?>?
rehydrate
Link copied to clipboard
open fun rehydrate(delegate: Any?, owner: Any?, thisObject: Any?): Closure<V?>?
rightShift
Link copied to clipboard
open fun <W : Any?> rightShift(other: Closure<W?>?): Closure<W?>?
run
Link copied to clipboard
open fun run()
setProperty
Link copied to clipboard
open fun setProperty(property: String?, newValue: Any?)
trampoline
Link copied to clipboard
open fun trampoline(): Closure<V?>?
open fun trampoline(vararg args: Any?): Closure<V?>?