«Лямбда с приемником»: что это за конструкция Котлин?

Я рассматриваю это объявление объекта Котлин:

object A : B({ variableName1 = "text1" variableName2 = "text2" params { param("Foo", "Bar") } }) 

И я не могу понять, что аргумент для конструктора класса B.

В этом примере я целенаправленно отвлекал информацию, но класс B на самом деле

 jetbrains.buildServer.configs.kotlin.v10.BuildType 

И я не могу найти документацию для этого типа. Я нашел нечто близкое, но это определение для интерфейса и, следовательно, не имеет конструктора.

Подводя итог, что это за конструкция в Котлине?

 { variableName1 = "text1" variableName2 = "text2" params { param("Foo", "Bar") } } 

Я не знаю класс jetbrains.buildServer.configs.kotlin.v10.BuildType но конструкция – это «Лямбда с приемником» , также известный как «Функциональный букв с приемником», который вы найдете в конструкциях DSL широко.

Например, посмотрите на HTML-конструктор: https://kotlinlang.org/docs/reference/type-safe-builders.html

Intereting Posts
объекты закрытого класса, загадочно становящиеся нулевыми, если ссылаются на другие объекты-компаньоны Как показать только день и месяц в диалоговом окне выбора даты в Kotlin (Android)? Класс данных Котлина с производными свойствами Почему myDayForecast.map пуст? Эффективный способ добавления строк, разделенных запятой Итерировать значения перечисления, используя значения () и valueOf в kotlin AutoValue с GsonTypeAdapter в Котлине Синтетическое расширение Котлина для просмотра getActivity () / context в ViewHolder в Котлин-Андориде Kotlin: как параметр по умолчанию в «fun main (parameters: Array <String>)» печатает «гость» без присвоения каких-либо значений Что означает предупреждение «Использовать свойства из пакетов вариантов сборки»? Переместить определение ViewModel в метод уровня пакета Пропустить массив строк, которые не являются нулевыми, как массив строк с нулевым значением Ошибка DataBinding в android Spinner ArrayAdapter.clear kotlin