public abstract class Observable<T> {
public abstract val value: T
public abstract fun subscribe(subscriber: Subscriber<T>): Subscription
public inline fun <R> transform(crossinline block: Transform<T, R>): Observable<R> =
object : Observable<R>() {
override fun subscribe(subscriber: Subscriber<R>): Subscription =
this@Observable.subscribe { subscriber(block(it)) }
@Suppress("WRONG_NAME_OF_VARIABLE_INSIDE_ACCESSOR")
override val value: R
get() = block(this@Observable.value) // I can't use the `field` property here
}
public companion object
}
The problem is diktat claims I have to use a field property instead of this@Observable.value which isn't technically possible in this case.
Perhaps the case is non-trivial for the parser, and if I had used a named private class instead of an anonymous object, this could have been avoided, but I think I should point out that such snippets happen too.
Describe the bug
Here's a piece of code I have:
The problem is diktat claims I have to use a
field
property instead ofthis@Observable.value
which isn't technically possible in this case. Perhaps the case is non-trivial for the parser, and if I had used a named private class instead of an anonymous object, this could have been avoided, but I think I should point out that such snippets happen too.Environment information