moonsweel
11/16/2017, 12:01 PMbashor
11/16/2017, 12:08 PMviewModel::address.setter
snrostov
11/16/2017, 12:08 PMbashor
11/16/2017, 12:09 PMmoonsweel
11/16/2017, 12:09 PMsnrostov
11/16/2017, 12:10 PM::
создается анонимный класс, с, насколько помню, тремя методамиmoonsweel
11/16/2017, 12:11 PMsnrostov
11/16/2017, 12:12 PMfinal class MainKt$main$1 extends MutablePropertyReference0 {
MainKt$main$1(Entry var1) {
super(var1);
}
public String getName() {
return "next";
}
public String getSignature() {
return "getNext()LEntry;";
}
public KDeclarationContainer getOwner() {
return Reflection.getOrCreateKotlinClass(Entry.class);
}
@Nullable
public Object get() {
return ((Entry)this.receiver).getNext();
}
public void set(@Nullable Object value) {
((Entry)this.receiver).setNext((Entry)value);
}
}
это на каждый instance::field
moonsweel
11/16/2017, 12:13 PMsnrostov
11/16/2017, 12:13 PMclass Entry(var next: Entry?)
fun main(args: Array<String>) {
val e = Entry(null)
println(e::next)
}
bashor
11/16/2017, 12:15 PMsnrostov
11/16/2017, 12:16 PMно какие альтернативы есть этому?вроде бы никаких... единественно можно лямбду попробовать сократить до
{ adress = it }
bashor
11/16/2017, 12:20 PMbeholder
11/16/2017, 6:16 PM{ value -> viewModel.address = value }
), либо для ссылки (viewModel::address.setter
). Одно из двух.moonsweel
11/20/2017, 8:29 AM