op

fun op(block: FunctionOp.() -> Unit): FunctionOp(source)

Create a FunctionOp.

A full example:

op {
  definition("my.fully.qualified.name") {
     signature {
         - arg1
         - arg2
         - arg3
     }
     signature(arg1, arg2)
     signature {
         - arg2
         - arg3
     }
  }
  "my.other.function" { // the call to 'definition' can be omitted
     signature(arg2, arg1)
  }
}

This would model the functions:

my.fully.qualified.name(arg1,arg2, arg3)
my.fully.qualified.name(arg1,arg2)
my.fully.qualified.name(arg2, arg3)

my.other.function(arg2, arg1)

Parameters

block

defines the Definitions of this FunctionOp