View NotNullVar.kt
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
private class NotNullVar<T : Any>() : ReadWriteProperty<Any?, T> { | |
private var value: T? = null | |
public override fun getValue(thisRef: Any?, property: KProperty<*>): T { | |
return value ?: throw IllegalStateException("Property ${property.name} should be initialized before get.") | |
} |
View Person$$special$$inlined$vetoable$1.java
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
public final class Person$$special$$inlined$vetoable$1 extends ObservableProperty { | |
protected boolean beforeChange(@NotNull KProperty property, Object oldValue, Object newValue) { | |
Intrinsics.checkParameterIsNotNull(property, "property"); | |
String newValue = (String)newValue; | |
String var10001 = (String)oldValue; | |
int var7 = false; |
View Person.kt
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
var address: String by Delegates.vetoable("") { | |
property, oldValue, newValue -> | |
newValue.length > 14 | |
} |
View ObservableProperty.kt
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
public override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) { | |
val oldValue = this.value | |
if (!beforeChange(property, oldValue, value)) { | |
return | |
} | |
this.value = value | |
afterChange(property, oldValue, value) |
View $ObservableProperty.kt
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
protected void afterChange(@NotNull KProperty property, Object oldValue, Object newValue) { | |
// update all existing shipments | |
} |
View Person.kt
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
class Person { | |
var address: String by Delegates.observable("not entered yet!") { | |
property, oldValue, newValue -> | |
// update all existing shipments | |
} | |
} |
View Lazy.kt
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
override val value: T | |
get() { | |
val _v1 = _value | |
if (_v1 !== UNINITIALIZED_VALUE) { | |
@Suppress("UNCHECKED_CAST") | |
return _v1 as T | |
} |
View Lazy.kt
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
public actual fun <T> lazy(initializer: () -> T): Lazy<T> = | |
SynchronizedLazyImpl(initializer) |
View Person$Lazy.java
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
this.fullname$delegate = LazyKt.lazy((Function0)(new Function0() { | |
@NotNull | |
public final String invoke() { | |
return name + lastname; | |
} | |
})); |
View Person$Lazy.java
<!-- Copyright 2020 Google LLC. | |
SPDX-License-Identifier: Apache-2.0 --> | |
@NotNull | |
private final Lazy fullname$delegate; |
NewerOlder