Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ lazy val V =
def scala3 = "3.0.1"
def metals = "0.10.6-M1"
def scalameta = "4.4.26"
def semanticdbKotlinc = "0.1.0"
def semanticdbKotlinc = "0.2.0"
def testcontainers = "0.39.3"
def requests = "0.6.5"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,44 +38,44 @@ import java.util.ArrayList
// ^^^^^^^^^ reference java/util/ArrayList#

internal class ActivityRecyclerPool {
// ^^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#
// ^^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#`<init>`().
// ^^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool# internal final class ActivityRecyclerPool
// ^^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#`<init>`(). public constructor ActivityRecyclerPool()

/**
* Store one unique pool per activity. They are cleared out when activities are destroyed, so this
* only needs to hold pools for active activities.
*/
private val pools = ArrayList<PoolReference>(5)
// ^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#pools.
// ^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#getPools().
// ^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#pools. private final val pools: java.util.ArrayList<com.airbnb.epoxy.PoolReference>
// ^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#getPools(). private final val pools: java.util.ArrayList<com.airbnb.epoxy.PoolReference>
// ^^^^^^^^^ reference java/util/ArrayList#`<init>`().
// ^^^^^^^^^^^^^ reference com/airbnb/epoxy/PoolReference#

@JvmOverloads
// ^^^^^^^^^^^^ reference kotlin/jvm/JvmOverloads#`<init>`().
fun getPool(
// ^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#getPool().
// ^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#getPool(). public final fun getPool(context: [ERROR : Context], poolFactory: () -> [ERROR : RecyclerView.RecycledViewPool]): com.airbnb.epoxy.PoolReference
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI @Strum355 the Kotlin signature renderer uses "ERROR" when the code has compile errors. I'm not sure what the best behavior is, I personally prefer it like this over returning an empty string. It's easier to report a bug if the signature has "ERROR". This problem happens because the Android SDK is not on the classpath.

context: Context,
// ^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#getPool().(context)
// ^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#getPool().(context) value-parameter context: [ERROR : Context]
poolFactory: () -> RecyclerView.RecycledViewPool
// ^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#getPool().(poolFactory)
// ^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#getPool().(poolFactory) value-parameter poolFactory: () -> [ERROR : RecyclerView.RecycledViewPool]
): PoolReference {
// ^^^^^^^^^^^^^ reference com/airbnb/epoxy/PoolReference#

val iterator = pools.iterator()
// ^^^^^^^^ definition local0
// ^^^^^^^^ definition local0 val iterator: kotlin.collections.MutableIterator<com.airbnb.epoxy.PoolReference>
// ^^^^^ reference com/airbnb/epoxy/ActivityRecyclerPool#pools.
// ^^^^^ reference com/airbnb/epoxy/ActivityRecyclerPool#getPools().
// ^^^^^^^^ reference java/util/ArrayList#iterator().
var poolToUse: PoolReference? = null
// ^^^^^^^^^ definition local1
// ^^^^^^^^^ definition local1 var poolToUse: com.airbnb.epoxy.PoolReference?
// ^^^^^^^^^^^^^ reference com/airbnb/epoxy/PoolReference#

while (iterator.hasNext()) {
// ^^^^^^^^ reference local0
// ^^^^^^^ reference kotlin/collections/MutableIterator#hasNext().
val poolReference = iterator.next()
// ^^^^^^^^^^^^^ definition local2
// ^^^^^^^^^^^^^ definition local2 val poolReference: com.airbnb.epoxy.PoolReference
// ^^^^^^^^ reference local0
// ^^^^ reference kotlin/collections/MutableIterator#next().
when {
Expand Down Expand Up @@ -134,8 +134,8 @@ internal class ActivityRecyclerPool {
}

fun clearIfDestroyed(pool: PoolReference) {
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#clearIfDestroyed().
// ^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#clearIfDestroyed().(pool)
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#clearIfDestroyed(). public final fun clearIfDestroyed(pool: com.airbnb.epoxy.PoolReference)
// ^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#clearIfDestroyed().(pool) value-parameter pool: com.airbnb.epoxy.PoolReference
// ^^^^^^^^^^^^^ reference com/airbnb/epoxy/PoolReference#
if (pool.context.isActivityDestroyed()) {
// ^^^^ reference com/airbnb/epoxy/ActivityRecyclerPool#clearIfDestroyed().(pool)
Expand All @@ -153,7 +153,7 @@ internal class ActivityRecyclerPool {
}

private fun Context.lifecycle(): Lifecycle? {
// ^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#lifecycle().
// ^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPool#lifecycle(). private final fun [ERROR : Context].lifecycle(): androidx.lifecycle.Lifecycle?
// ^^^^^^^^^ reference androidx/lifecycle/Lifecycle#
if (this is LifecycleOwner) {
// ^^^^ reference com/airbnb/epoxy/ActivityRecyclerPool#lifecycle().
Expand All @@ -171,37 +171,37 @@ internal class ActivityRecyclerPool {
}

internal class PoolReference(
// ^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#
// ^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#`<init>`().
// ^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference# internal final class PoolReference : androidx.lifecycle.LifecycleObserver
// ^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#`<init>`(). public constructor PoolReference(context: [ERROR : Context], viewPool: [ERROR : RecyclerView.RecycledViewPool], parent: com.airbnb.epoxy.ActivityRecyclerPool)
context: Context,
// ^^^^^^^ definition com/airbnb/epoxy/PoolReference#`<init>`().(context)
// ^^^^^^^ definition com/airbnb/epoxy/PoolReference#`<init>`().(context) value-parameter context: [ERROR : Context]
val viewPool: RecyclerView.RecycledViewPool,
// ^^^^^^^^ definition com/airbnb/epoxy/PoolReference#viewPool.
// ^^^^^^^^ definition com/airbnb/epoxy/PoolReference#getViewPool().
// ^^^^^^^^ definition com/airbnb/epoxy/PoolReference#`<init>`().(viewPool)
// ^^^^^^^^ definition com/airbnb/epoxy/PoolReference#viewPool. public final val viewPool: [ERROR : RecyclerView.RecycledViewPool]
// ^^^^^^^^ definition com/airbnb/epoxy/PoolReference#getViewPool(). public final val viewPool: [ERROR : RecyclerView.RecycledViewPool]
// ^^^^^^^^ definition com/airbnb/epoxy/PoolReference#`<init>`().(viewPool) value-parameter viewPool: [ERROR : RecyclerView.RecycledViewPool]
private val parent: ActivityRecyclerPool
// ^^^^^^ definition com/airbnb/epoxy/PoolReference#parent.
// ^^^^^^ definition com/airbnb/epoxy/PoolReference#getParent().
// ^^^^^^ definition com/airbnb/epoxy/PoolReference#`<init>`().(parent)
// ^^^^^^ definition com/airbnb/epoxy/PoolReference#parent. private final val parent: com.airbnb.epoxy.ActivityRecyclerPool
// ^^^^^^ definition com/airbnb/epoxy/PoolReference#getParent(). private final val parent: com.airbnb.epoxy.ActivityRecyclerPool
// ^^^^^^ definition com/airbnb/epoxy/PoolReference#`<init>`().(parent) value-parameter parent: com.airbnb.epoxy.ActivityRecyclerPool
// ^^^^^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/ActivityRecyclerPool#
) : LifecycleObserver {
// ^^^^^^^^^^^^^^^^^ reference androidx/lifecycle/LifecycleObserver#
private val contextReference: WeakReference<Context> = WeakReference(context)
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#contextReference.
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#getContextReference().
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#contextReference. private final val contextReference: java.lang.ref.WeakReference<[ERROR : Context]>
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#getContextReference(). private final val contextReference: java.lang.ref.WeakReference<[ERROR : Context]>
// ^^^^^^^^^^^^^ reference java/lang/ref/WeakReference#
// ^^^^^^^^^^^^^ reference java/lang/ref/WeakReference#`<init>`().
// ^^^^^^^ reference com/airbnb/epoxy/PoolReference#`<init>`().(context)

val context: Context? get() = contextReference.get()
// ^^^^^^^ definition com/airbnb/epoxy/PoolReference#context.
// ^^^ definition com/airbnb/epoxy/PoolReference#getContext().
// ^^^^^^^ definition com/airbnb/epoxy/PoolReference#context. public final val context: [ERROR : Context]?
// ^^^ definition com/airbnb/epoxy/PoolReference#getContext(). public final fun <get-context>(): [ERROR : Context]?
// ^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/PoolReference#contextReference.
// ^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/PoolReference#getContextReference().
// ^^^ reference java/lang/ref/WeakReference#get().

fun clearIfDestroyed() {
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#clearIfDestroyed().
// ^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#clearIfDestroyed(). public final fun clearIfDestroyed()
parent.clearIfDestroyed(this)
// ^^^^^^ reference com/airbnb/epoxy/PoolReference#parent.
// ^^^^^^ reference com/airbnb/epoxy/PoolReference#getParent().
Expand All @@ -215,14 +215,14 @@ internal class PoolReference(
// ^^^^^ reference androidx/lifecycle/Lifecycle#Event#
// ^^^^^^^^^^ reference androidx/lifecycle/Lifecycle#Event#ON_DESTROY#
fun onContextDestroyed() {
// ^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#onContextDestroyed().
// ^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/PoolReference#onContextDestroyed(). public final fun onContextDestroyed()
clearIfDestroyed()
// ^^^^^^^^^^^^^^^^ reference com/airbnb/epoxy/PoolReference#clearIfDestroyed().
}
}

internal fun Context?.isActivityDestroyed(): Boolean {
// ^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPoolKt#isActivityDestroyed().
// ^^^^^^^^^^^^^^^^^^^ definition com/airbnb/epoxy/ActivityRecyclerPoolKt#isActivityDestroyed(). internal fun [ERROR : Context]?.isActivityDestroyed(): kotlin.Boolean
// ^^^^^^^ reference kotlin/Boolean#
if (this == null) {
// ^^^^ reference com/airbnb/epoxy/ActivityRecyclerPoolKt#isActivityDestroyed().
Expand Down
Loading