electrolobzik
02/09/2022, 10:09 AMval answer: String by project work? Project interface doesn’t have getValue() and setValue(), so how does it work as a delegate then?Sam
02/09/2022, 10:12 AM/**
* Locates a property on [Project].
*/
operator fun Project.provideDelegate(any: Any?, property: KProperty<*>): PropertyDelegate =
propertyDelegateFor(this, property)Sam
02/09/2022, 10:13 AMelectrolobzik
02/09/2022, 10:17 AMelectrolobzik
02/09/2022, 10:19 AMProject.provideDelegate is called? I don’t follow :)Sam
02/09/2022, 10:20 AMIf the object used on the right-hand side of(https://kotlinlang.org/docs/delegated-properties.html#providing-a-delegate)definesbyas a member or extension function, that function will be called to create the property delegate instance.provideDelegate
Sam
02/09/2022, 10:20 AMprovideDelegate exists (and is imported)Sam
02/09/2022, 10:22 AMgetValue exists, then properties using by will automatically call through to getValue(...). If provideDelegate exists, then properties using by will instead call provideDelegate(...).getValue(...). 🧙Sam
02/09/2022, 10:23 AMelectrolobzik
02/09/2022, 10:24 AMprovideDelegate() references to propertyDelegateFor() . Where it is located?electrolobzik
02/09/2022, 10:25 AMProject or in ProjectDelegate .electrolobzik
02/09/2022, 10:26 AMSam
02/09/2022, 10:27 AM