Filter out JvmSynthetic methods
in all cases (Java synthetic classes and regular classes) and appropriately
apply JvmName to all methods (and modify the callable in dri)

BUG: 173443613
BUG: 165105949
Change-Id: I8ce610cccbcc0b69220eb0b0ea4ba3529dc7ac1d
diff --git a/src/main/java/com/google/devsite/renderer/converters/ClasslikeDocumentableConverter.kt b/src/main/java/com/google/devsite/renderer/converters/ClasslikeDocumentableConverter.kt
index 99132c3..945bf35 100644
--- a/src/main/java/com/google/devsite/renderer/converters/ClasslikeDocumentableConverter.kt
+++ b/src/main/java/com/google/devsite/renderer/converters/ClasslikeDocumentableConverter.kt
@@ -68,9 +68,20 @@
 
     /** @return the classlike component */
     suspend fun classlike(): DevsitePage = coroutineScope {
-        val declaredFunctions = classlike.functions.myTypes().sortedBy { it.name }
-        val declaredProperties = classlike.properties.myTypes().sortedBy { it.name }
-        val inheritedFunctions = classlike.functions.inheritedTypes()
+        var declaredFunctions = classlike.functions.myTypes()
+        var declaredProperties = classlike.properties.myTypes()
+        var inheritedFunctions = classlike.functions.inheritedTypes()
+
+        // Java documentation needs to respect @jvm* annotations
+        if (displayLanguage == Language.JAVA) {
+            declaredFunctions = declaredFunctions.filterOutJvmSynthetic().map { it.withJvmName() }
+            declaredProperties = declaredProperties.filterOutJvmSynthetic()
+            inheritedFunctions = inheritedFunctions.filterOutJvmSynthetic().map { it.withJvmName() }
+        }
+
+        declaredFunctions = declaredFunctions.sortedBy { it.name }
+        declaredProperties = declaredProperties.sortedBy { it.name }
+        inheritedFunctions = inheritedFunctions.sortedBy { it.name }
 
         val declaredConstructors = (classlike as? WithConstructors)?.constructors.orEmpty()
             .sortedBy { it.parameters.size }
diff --git a/src/main/java/com/google/devsite/renderer/converters/Documentables.kt b/src/main/java/com/google/devsite/renderer/converters/Documentables.kt
index a3bd57e..1533ce9 100644
--- a/src/main/java/com/google/devsite/renderer/converters/Documentables.kt
+++ b/src/main/java/com/google/devsite/renderer/converters/Documentables.kt
@@ -19,7 +19,6 @@
 import com.google.devsite.renderer.Language
 import org.jetbrains.dokka.base.transformers.documentables.isException
 import org.jetbrains.dokka.links.DRI
-import org.jetbrains.dokka.links.withClass
 import org.jetbrains.dokka.model.DAnnotation
 import org.jetbrains.dokka.model.DClass
 import org.jetbrains.dokka.model.DClasslike
@@ -100,6 +99,7 @@
 
 /**
  * Converts a top level function to its representation under a Java synthetic class
+ * and with JvmName
  * Replaces the dri to point to the synthetic class and applies the static modifier
  */
 fun DFunction.withJavaSynthetic(syntheticClassName: String): DFunction {
@@ -107,14 +107,26 @@
     return copy(
         name = jvmName,
         // this needs to be the dri IN the synthetic class
-        dri = dri.withClass(syntheticClassName),
+        dri = dri.copy(
+            classNames = syntheticClassName,
+            callable = dri.callable?.copy(name = jvmName)
+        ),
         // put the static modifier on functions in the synthetic class
         extra = extra.addAll(sourceSets.map {
             mapOf(it to setOf(ExtraModifiers.JavaOnlyModifiers.Static)).toAdditionalModifiers()
         })
     )
 }
-
+/**
+ * Converts a level function to its presentation with JvmName
+ */
+fun DFunction.withJvmName(): DFunction {
+val jvmName = jvmName() ?: return this
+    return copy(
+        name = jvmName,
+        dri = dri.copy(callable = dri.callable?.copy(name = jvmName))
+    )
+}
 /**
  * Returns the value of the @JvmName for this function if one exists or null
  */
@@ -126,3 +138,11 @@
         jvmNameAnnotation.first().params.getValue("name").toComponent().replace("\"", "")
     }
 }
+
+/**
+ * Filters out elements that are annotated with @JvmSynthetic
+ */
+fun <T> List<T>.filterOutJvmSynthetic(): List<T>
+    where T : WithExtraProperties<*> = this.filterNot {
+        it.annotations().any { it.dri.classNames.equals("JvmSynthetic") }
+    }
diff --git a/src/main/java/com/google/devsite/renderer/impl/DocumentablesHolder.kt b/src/main/java/com/google/devsite/renderer/impl/DocumentablesHolder.kt
index 1c1ba1e..7926507 100644
--- a/src/main/java/com/google/devsite/renderer/impl/DocumentablesHolder.kt
+++ b/src/main/java/com/google/devsite/renderer/impl/DocumentablesHolder.kt
@@ -18,6 +18,7 @@
 
 import com.google.devsite.renderer.Language
 import com.google.devsite.renderer.converters.explodedChildren
+import com.google.devsite.renderer.converters.filterOutJvmSynthetic
 import com.google.devsite.renderer.converters.isExceptionClass
 import com.google.devsite.renderer.converters.name
 import com.google.devsite.renderer.converters.withJavaSynthetic
@@ -172,12 +173,17 @@
      * Java
      */
     private fun computeSyntheticClasses(packageDoc: DPackage): List<DClass> {
-        return (packageDoc.functions as List<WithSources>)
-            .syntheticName()
+        // functions that are JvmSynthetic are not accessible from Java so they should not appear
+        // in the documentation
+        val javaFunctions = packageDoc.functions.filterOutJvmSynthetic()
+        val javaProperties = packageDoc.properties.filterOutJvmSynthetic()
+        return (javaFunctions + javaProperties)
+            .mapToSyntheticNames()
             .map { (syntheticClassName, nodes) ->
                 DClass(
                     dri = packageDoc.dri.withClass(syntheticClassName),
                     name = syntheticClassName,
+                    // TODO (b/168340963) handle kotlin as java properties
                     properties = nodes.filterIsInstance<DProperty>(),
                     constructors = emptyList(),
                     functions = nodes.filterIsInstance<DFunction>().map {
@@ -199,11 +205,13 @@
             }
     }
 
-    /** Returns that name of the synthetic class that this function (WithSources) would be part of
+    /** Returns a map from String name of synthetic class that this Function (WithSources) would be
+     * in to the Functions that are part of those classes
+     *
      * This method uses the filename with "Kt" appended
-     * TODO(b/173138586): this should be using @jvmname when that's fixed by JB
+     * TODO(b/173138586): this should be using @file:jvmname when that's fixed by JB
      * **/
-    private fun <T : WithSources> List<T>.syntheticName() =
+    private fun <T : WithSources> List<T>.mapToSyntheticNames() =
         map { it.sources to it }
             .groupBy({ (location, _) ->
                 location.let {
diff --git a/src/test/java/com/google/devsite/renderer/converters/ClasslikeDocumentableConverterTest.kt b/src/test/java/com/google/devsite/renderer/converters/ClasslikeDocumentableConverterTest.kt
index a4e631e..80021f6 100644
--- a/src/test/java/com/google/devsite/renderer/converters/ClasslikeDocumentableConverterTest.kt
+++ b/src/test/java/com/google/devsite/renderer/converters/ClasslikeDocumentableConverterTest.kt
@@ -98,6 +98,54 @@
         assertThat(summary.item().functionSummary().name()).isEqualTo("foo")
     }
 
+    @Test
+    fun `@jvmName functions get documented and sorted by correct name`() {
+        val page = """
+            |class Foo {
+            |    @JvmName("bar")
+            |    fun foo() = Unit
+            |
+            |    @JvmName("aar")
+            |    fun zoo() = Unit
+            |}
+        """.render().page()
+
+        javaOnly {
+            val classlike = page.content<Classlike>()
+            val (summary) = classlike.symbolsFor("Public functions", "Public methods")
+            assertThat(summary.items().first().functionSummary().name()).isEqualTo("aar")
+            assertThat(summary.items().last().functionSummary().name()).isEqualTo("bar")
+        }
+        kotlinOnly {
+            val classlike = page.content<Classlike>()
+            val (summary) = classlike.symbolsFor("Public functions", "Public methods")
+            assertThat(summary.items().first().functionSummary().name()).isEqualTo("foo")
+            assertThat(summary.items().last().functionSummary().name()).isEqualTo("zoo")
+        }
+    }
+
+    @Test
+    fun `@JvmSynthetic methods are not documented in java`() {
+        val page = """
+            |class Foo {
+            |    fun foo() = Unit
+            |
+            |    @JvmSynthetic
+            |    fun zoo() = Unit
+            |}
+        """.render().page()
+
+        val classlike = page.content<Classlike>()
+        val (summary) = classlike.symbolsFor("Public functions", "Public methods")
+
+        javaOnly {
+            assertThat(summary.items().size).isEqualTo(1)
+        }
+        kotlinOnly {
+            assertThat(summary.items().size).isEqualTo(2)
+        }
+    }
+
     @Ignore // TODO(b/165112358): foo doesn't show up in the dokka model
     @Test
     fun `Protected function gets documented`() {
diff --git a/testData/paging/docs/reference/androidx/_toc.yaml b/testData/paging/docs/reference/androidx/_toc.yaml
index 33d33bd..fcc187f 100644
--- a/testData/paging/docs/reference/androidx/_toc.yaml
+++ b/testData/paging/docs/reference/androidx/_toc.yaml
@@ -98,10 +98,6 @@
       path: "/reference/androidx/paging/PagedList.LoadStateManager.html"
     - title: "PagedListAdapter"
       path: "/reference/androidx/paging/PagedListAdapter.html"
-    - title: "PagedListConfigKt"
-      path: "/reference/androidx/paging/PagedListConfigKt.html"
-    - title: "PagedListKt"
-      path: "/reference/androidx/paging/PagedListKt.html"
     - title: "Pager"
       path: "/reference/androidx/paging/Pager.html"
     - title: "PagingConfig"
@@ -112,8 +108,6 @@
       path: "/reference/androidx/paging/PagingDataAdapter.html"
     - title: "PagingDataDiffer"
       path: "/reference/androidx/paging/PagingDataDiffer.html"
-    - title: "PagingDataKt"
-      path: "/reference/androidx/paging/PagingDataKt.html"
     - title: "PagingLiveDataKt"
       path: "/reference/androidx/paging/PagingLiveDataKt.html"
     - title: "PagingSource"
diff --git a/testData/paging/docs/reference/androidx/classes.html b/testData/paging/docs/reference/androidx/classes.html
index 5831f31..5be1542 100644
--- a/testData/paging/docs/reference/androidx/classes.html
+++ b/testData/paging/docs/reference/androidx/classes.html
@@ -341,14 +341,6 @@
             </td>
           </tr>
           <tr>
-            <td><code><a href="/reference/androidx/paging/PagedListConfigKt.html">PagedListConfigKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/androidx/paging/PagedListKt.html">PagedListKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
             <td><code><a href="/reference/androidx/paging/Pager.html">Pager</a></code></td>
             <td width="100%">
               <p>Primary entry point into Paging; constructor for a reactive stream of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>.</p>
@@ -385,10 +377,6 @@
             <td width="100%"></td>
           </tr>
           <tr>
-            <td><code><a href="/reference/androidx/paging/PagingDataKt.html">PagingDataKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
             <td><code><a href="/reference/androidx/paging/PagingLiveDataKt.html">PagingLiveDataKt</a></code></td>
             <td width="100%"></td>
           </tr>
@@ -501,18 +489,6 @@
             <td width="100%"></td>
           </tr>
           <tr>
-            <td><code><a href="/reference/androidx/paging/PagedListKt.html">PagedListKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/androidx/paging/PagedListConfigKt.html">PagedListConfigKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/androidx/paging/PagingDataKt.html">PagingDataKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
             <td><code><a href="/reference/androidx/paging/PagingSourceKt.html">PagingSourceKt</a></code></td>
             <td width="100%"></td>
           </tr>
diff --git a/testData/paging/docs/reference/androidx/paging/DataSource.Factory.html b/testData/paging/docs/reference/androidx/paging/DataSource.Factory.html
index 1dd4d78..e5733d0 100644
--- a/testData/paging/docs/reference/androidx/paging/DataSource.Factory.html
+++ b/testData/paging/docs/reference/androidx/paging/DataSource.Factory.html
@@ -88,24 +88,10 @@
           <tr>
             <td><code><a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/DataSource.Factory.html#map(kotlin.Function1)">map</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;Value,&nbsp;ToValue&gt;&nbsp;function)</code></div>
-              <p>Applies the given function to each value emitted by DataSources produced by this Factory.</p>
-            </td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
-            <td width="100%">
               <div><code><a href="/reference/androidx/paging/DataSource.Factory.html#mapByPage()">mapByPage</a>(<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/List.html">List</a>&lt;Value&gt;,&nbsp;<a href="/reference/kotlin/collections/List.html">List</a>&lt;ToValue&gt;&gt;&nbsp;function)</code></div>
               <p>Applies the given function to each value emitted by DataSources produced by this Factory.</p>
             </td>
           </tr>
-          <tr>
-            <td><code><a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
-            <td width="100%">
-              <div><code><a href="/reference/androidx/paging/DataSource.Factory.html#mapByPage(kotlin.Function1)">mapByPage</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;<a href="/reference/kotlin/collections/List.html">List</a>&lt;Value&gt;,&nbsp;<a href="/reference/kotlin/collections/List.html">List</a>&lt;ToValue&gt;&gt;&nbsp;function)</code></div>
-              <p>Applies the given function to each value emitted by DataSources produced by this Factory.</p>
-            </td>
-          </tr>
         </tbody>
       </table>
     </div>
@@ -235,76 +221,6 @@
         </table>
       </div>
     </div>
-    <div><a name="map-kotlin.Function1-"></a>
-      <h3 class="api-name" id="map(kotlin.Function1)">map</h3>
-      <pre class="api-signature no-pretty-print">public&nbsp;<a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a>&lt;Key,&nbsp;ToValue&gt;&nbsp;<a href="/reference/androidx/paging/DataSource.Factory.html#map(kotlin.Function1)">map</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;Value,&nbsp;ToValue&gt;&nbsp;function)</pre>
-      <p>Applies the given function to each value emitted by DataSources produced by this Factory.</p>
-      <p>An overload of <code><a href="/reference/androidx/paging/DataSource.Factory.html#map()">map</a></code> that accepts a kotlin function type.</p>
-      <p>Same as <code><a href="/reference/androidx/paging/DataSource.Factory.html#mapByPage()">mapByPage</a></code>, but operates on individual items.</p>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Returns</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
-              <td width="100%">
-                <p>A new <code><a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a></code>, which transforms items using the given function.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Parameters</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>ToValue</code></td>
-              <td width="100%">
-                <p>Type of items produced by the new <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code>, from the passed function.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>function</code></td>
-              <td width="100%">
-                <p>Function that runs on each loaded item, returning items of a potentially new type.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">See also</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.Factory.html#mapByPage()">mapByPage</a></code></td>
-              <td width="100%"></td>
-            </tr>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.html#map()">map</a></code></td>
-              <td width="100%"></td>
-            </tr>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.html#mapByPage()">mapByPage</a></code></td>
-              <td width="100%"></td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-    </div>
     <div><a name="mapByPage--"></a>
       <h3 class="api-name" id="mapByPage()">mapByPage</h3>
       <pre class="api-signature no-pretty-print">public&nbsp;<a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a>&lt;Key,&nbsp;ToValue&gt;&nbsp;<a href="/reference/androidx/paging/DataSource.Factory.html#mapByPage()">mapByPage</a>(<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/List.html">List</a>&lt;Value&gt;,&nbsp;<a href="/reference/kotlin/collections/List.html">List</a>&lt;ToValue&gt;&gt;&nbsp;function)</pre>
@@ -374,75 +290,5 @@
         </table>
       </div>
     </div>
-    <div><a name="mapByPage-kotlin.Function1-"></a>
-      <h3 class="api-name" id="mapByPage(kotlin.Function1)">mapByPage</h3>
-      <pre class="api-signature no-pretty-print">public&nbsp;<a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a>&lt;Key,&nbsp;ToValue&gt;&nbsp;<a href="/reference/androidx/paging/DataSource.Factory.html#mapByPage(kotlin.Function1)">mapByPage</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;<a href="/reference/kotlin/collections/List.html">List</a>&lt;Value&gt;,&nbsp;<a href="/reference/kotlin/collections/List.html">List</a>&lt;ToValue&gt;&gt;&nbsp;function)</pre>
-      <p>Applies the given function to each value emitted by DataSources produced by this Factory.</p>
-      <p>An overload of <code><a href="/reference/androidx/paging/DataSource.Factory.html#mapByPage()">mapByPage</a></code> that accepts a kotlin function type.</p>
-      <p>Same as <code><a href="/reference/androidx/paging/DataSource.Factory.html#map()">map</a></code>, but allows for batch conversions.</p>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Returns</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
-              <td width="100%">
-                <p>A new <code><a href="/reference/androidx/paging/DataSource.Factory.html">DataSource.Factory</a></code>, which transforms items using the given function.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Parameters</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>ToValue</code></td>
-              <td width="100%">
-                <p>Type of items produced by the new <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code>, from the passed function.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>function</code></td>
-              <td width="100%">
-                <p>Function that runs on each loaded page, returning items of a potentially new type.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">See also</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.Factory.html#map()">map</a></code></td>
-              <td width="100%"></td>
-            </tr>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.html#map()">map</a></code></td>
-              <td width="100%"></td>
-            </tr>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.html#mapByPage()">mapByPage</a></code></td>
-              <td width="100%"></td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-    </div>
   </body>
 </html>
diff --git a/testData/paging/docs/reference/androidx/paging/DataSource.html b/testData/paging/docs/reference/androidx/paging/DataSource.html
index d060d4f..c2895aa 100644
--- a/testData/paging/docs/reference/androidx/paging/DataSource.html
+++ b/testData/paging/docs/reference/androidx/paging/DataSource.html
@@ -149,25 +149,11 @@
           <tr>
             <td><code><a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/DataSource.html#map(kotlin.Function1)">map</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;Value,&nbsp;ToValue&gt;&nbsp;function)</code></div>
-              <p>Applies the given function to each value emitted by the DataSource.</p>
-            </td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
-            <td width="100%">
               <div><code><a href="/reference/androidx/paging/DataSource.html#mapByPage()">mapByPage</a>(<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/List.html">List</a>&lt;Value&gt;,&nbsp;<a href="/reference/kotlin/collections/List.html">List</a>&lt;ToValue&gt;&gt;&nbsp;function)</code></div>
               <p>Applies the given function to each value emitted by the DataSource.</p>
             </td>
           </tr>
           <tr>
-            <td><code><a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
-            <td width="100%">
-              <div><code><a href="/reference/androidx/paging/DataSource.html#mapByPage(kotlin.Function1)">mapByPage</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;<a href="/reference/kotlin/collections/List.html">List</a>&lt;Value&gt;,&nbsp;<a href="/reference/kotlin/collections/List.html">List</a>&lt;ToValue&gt;&gt;&nbsp;function)</code></div>
-              <p>Applies the given function to each value emitted by the DataSource.</p>
-            </td>
-          </tr>
-          <tr>
             <td><code>void</code></td>
             <td width="100%">
               <div><code><a href="/reference/androidx/paging/DataSource.html#removeInvalidatedCallback(androidx.paging.DataSource.InvalidatedCallback)">removeInvalidatedCallback</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/DataSource.InvalidatedCallback.html">DataSource.InvalidatedCallback</a>&nbsp;onInvalidatedCallback<br>)</code></div>
@@ -299,72 +285,6 @@
         </table>
       </div>
     </div>
-    <div><a name="map-kotlin.Function1-"></a>
-      <h3 class="api-name" id="map(kotlin.Function1)">map</h3>
-      <pre class="api-signature no-pretty-print">public&nbsp;<a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;ToValue&gt;&nbsp;<a href="/reference/androidx/paging/DataSource.html#map(kotlin.Function1)">map</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;Value,&nbsp;ToValue&gt;&nbsp;function)</pre>
-      <p>Applies the given function to each value emitted by the DataSource.</p>
-      <p>An overload of <code><a href="/reference/androidx/paging/DataSource.html#map()">map</a></code> that accepts a kotlin function type.</p>
-      <p>Same as <code><a href="/reference/androidx/paging/DataSource.html#mapByPage()">mapByPage</a></code>, but operates on individual items.</p>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Returns</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
-              <td width="100%">
-                <p>A new DataSource, which transforms items using the given function.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Parameters</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>ToValue</code></td>
-              <td width="100%">
-                <p>Type of items produced by the new DataSource, from the passed function.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>function</code></td>
-              <td width="100%">
-                <p>Function that runs on each loaded item, returning items of a potentially new type.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">See also</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.html#mapByPage()">mapByPage</a></code></td>
-              <td width="100%"></td>
-            </tr>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.Factory.html#map()">map</a></code></td>
-              <td width="100%"></td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-    </div>
     <div><a name="mapByPage--"></a>
       <h3 class="api-name" id="mapByPage()">mapByPage</h3>
       <pre class="api-signature no-pretty-print">public&nbsp;<a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;ToValue&gt;&nbsp;<a href="/reference/androidx/paging/DataSource.html#mapByPage()">mapByPage</a>(<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/List.html">List</a>&lt;Value&gt;,&nbsp;<a href="/reference/kotlin/collections/List.html">List</a>&lt;ToValue&gt;&gt;&nbsp;function)</pre>
@@ -434,76 +354,6 @@
         </table>
       </div>
     </div>
-    <div><a name="mapByPage-kotlin.Function1-"></a>
-      <h3 class="api-name" id="mapByPage(kotlin.Function1)">mapByPage</h3>
-      <pre class="api-signature no-pretty-print">public&nbsp;<a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;ToValue&gt;&nbsp;<a href="/reference/androidx/paging/DataSource.html#mapByPage(kotlin.Function1)">mapByPage</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;<a href="/reference/kotlin/collections/List.html">List</a>&lt;Value&gt;,&nbsp;<a href="/reference/kotlin/collections/List.html">List</a>&lt;ToValue&gt;&gt;&nbsp;function)</pre>
-      <p>Applies the given function to each value emitted by the DataSource.</p>
-      <p>An overload of <code><a href="/reference/androidx/paging/DataSource.html#mapByPage()">mapByPage</a></code> that accepts a kotlin function type.</p>
-      <p>Same as <code><a href="/reference/androidx/paging/DataSource.html#map()">map</a></code>, but allows for batch conversions.</p>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Returns</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;ToValue&gt;</code></td>
-              <td width="100%">
-                <p>A new <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code>, which transforms items using the given function.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Parameters</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>ToValue</code></td>
-              <td width="100%">
-                <p>Type of items produced by the new DataSource, from the passed function.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>function</code></td>
-              <td width="100%">
-                <p>Function that runs on each loaded page, returning items of a potentially new type.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">See also</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.html#map()">map</a></code></td>
-              <td width="100%"></td>
-            </tr>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.Factory.html#map()">map</a></code></td>
-              <td width="100%"></td>
-            </tr>
-            <tr>
-              <td><code><a href="/reference/androidx/paging/DataSource.Factory.html#mapByPage()">mapByPage</a></code></td>
-              <td width="100%"></td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-    </div>
     <div><a name="removeInvalidatedCallback-androidx.paging.DataSource.InvalidatedCallback-"></a>
       <h3 class="api-name" id="removeInvalidatedCallback(androidx.paging.DataSource.InvalidatedCallback)">removeInvalidatedCallback</h3>
       <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;void&nbsp;<a href="/reference/androidx/paging/DataSource.html#removeInvalidatedCallback(androidx.paging.DataSource.InvalidatedCallback)">removeInvalidatedCallback</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/DataSource.InvalidatedCallback.html">DataSource.InvalidatedCallback</a>&nbsp;onInvalidatedCallback<br>)</pre>
diff --git a/testData/paging/docs/reference/androidx/paging/PagedListConfigKt.html b/testData/paging/docs/reference/androidx/paging/PagedListConfigKt.html
deleted file mode 100644
index e7bde97..0000000
--- a/testData/paging/docs/reference/androidx/paging/PagedListConfigKt.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<html devsite="true">
-  <head>
-    <title>PagedListConfigKt</title>
-{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %}
-{% include "_shared/_reference-head-tags.html" %}
-  </head>
-  <body>
-    <h1>PagedListConfigKt</h1>
-{% setvar page_path %}androidx/paging/PagedListConfigKt.html{% endsetvar %}
-{% setvar can_switch %}1{% endsetvar %}
-{% include "reference/_java_switcher2.md" %}
-    <p>
-      <pre>public final class PagedListConfigKt</pre>
-    </p>
-    <hr>
-    <h2>Summary</h2>
-    <div class="devsite-table-wrapper">
-      <table class="responsive">
-        <thead>
-          <tr>
-            <th colspan="2"><h3>Public methods</h3></th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagedList.Config.html">PagedList.Config</a></code></td>
-            <td width="100%">
-              <div><code><a href="/reference/androidx/paging/PagedListConfigKt.html#Config(kotlin.Int,kotlin.Int,kotlin.Boolean,kotlin.Int,kotlin.Int)">Config</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;pageSize,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;prefetchDistance,<br>&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;enablePlaceholders,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;initialLoadSizeHint,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;maxSize<br>)</code></div>
-              <p>Constructs a <code><a href="/reference/androidx/paging/PagedList.Config.html">PagedList.Config</a></code>, convenience for <code><a href="/reference/androidx/paging/PagedList.Config.Builder.html">PagedList.Config.Builder</a></code>.</p>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
-    <h2>Public methods</h2>
-    <div><a name="Config(kotlin.Int, kotlin.Int, kotlin.Boolean, kotlin.Int, kotlin.Int)"></a><a name="Config-kotlin.Int-kotlin.Int-kotlin.Boolean-kotlin.Int-kotlin.Int-"></a>
-      <h3 class="api-name" id="Config(kotlin.Int,kotlin.Int,kotlin.Boolean,kotlin.Int,kotlin.Int)">Config</h3>
-      <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagedList.Config.html">PagedList.Config</a>&nbsp;<a href="/reference/androidx/paging/PagedListConfigKt.html#Config(kotlin.Int,kotlin.Int,kotlin.Boolean,kotlin.Int,kotlin.Int)">Config</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;pageSize,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;prefetchDistance,<br>&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;enablePlaceholders,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;initialLoadSizeHint,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;maxSize<br>)</pre>
-      <p>Constructs a <code><a href="/reference/androidx/paging/PagedList.Config.html">PagedList.Config</a></code>, convenience for <code><a href="/reference/androidx/paging/PagedList.Config.Builder.html">PagedList.Config.Builder</a></code>.</p>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Parameters</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>pageSize</code></td>
-              <td width="100%">
-                <p>Number of items loaded at once from the <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code>.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>prefetchDistance</code></td>
-              <td width="100%">
-                <p>Distance the PagedList should prefetch.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>enablePlaceholders</code></td>
-              <td width="100%">
-                <p>False if null placeholders should be disabled.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>initialLoadSizeHint</code></td>
-              <td width="100%">
-                <p>Number of items to load while initializing the PagedList.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>maxSize</code></td>
-              <td width="100%">
-                <p>Maximum number of items to keep in memory, or <code><a href="/reference/androidx/paging/PagedList.Config.Companion.html#MAX_SIZE_UNBOUNDED()">PagedList.Config.MAX_SIZE_UNBOUNDED</a></code> to disable page dropping.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/testData/paging/docs/reference/androidx/paging/PagedListKt.html b/testData/paging/docs/reference/androidx/paging/PagedListKt.html
deleted file mode 100644
index 97b9cbf..0000000
--- a/testData/paging/docs/reference/androidx/paging/PagedListKt.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html devsite="true">
-  <head>
-    <title>PagedListKt</title>
-{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %}
-{% include "_shared/_reference-head-tags.html" %}
-  </head>
-  <body>
-    <h1>PagedListKt</h1>
-{% setvar page_path %}androidx/paging/PagedListKt.html{% endsetvar %}
-{% setvar can_switch %}1{% endsetvar %}
-{% include "reference/_java_switcher2.md" %}
-    <p>
-      <pre>public final class PagedListKt</pre>
-    </p>
-    <hr>
-    <h2>Summary</h2>
-    <div class="devsite-table-wrapper">
-      <table class="responsive">
-        <thead>
-          <tr>
-            <th colspan="2"><h3>Public methods</h3></th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagedList.html">PagedList</a>&lt;Value&gt;</code></td>
-            <td width="100%">
-              <div><code><span><del><a href="/reference/androidx/paging/PagedListKt.html#PagedList(androidx.paging.DataSource,androidx.paging.PagedList.Config,java.util.concurrent.Executor,java.util.concurrent.Executor,androidx.paging.PagedList.BoundaryCallback,kotlin.Any)">PagedList</a></del></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;Value&gt;&nbsp;dataSource,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagedList.Config.html">PagedList.Config</a>&nbsp;config,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/java/util/concurrent/Executor.html">Executor</a>&nbsp;notifyExecutor,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/java/util/concurrent/Executor.html">Executor</a>&nbsp;fetchExecutor,<br>&nbsp;&nbsp;&nbsp;&nbsp;@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a>&nbsp;<a href="/reference/androidx/paging/PagedList.BoundaryCallback.html">PagedList.BoundaryCallback</a>&lt;Value&gt;&nbsp;boundaryCallback,<br>&nbsp;&nbsp;&nbsp;&nbsp;@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a>&nbsp;Key&nbsp;initialKey<br>)</code></div>
-              <p><strong>This method is deprecated.</strong> DataSource is deprecated and has been replaced by PagingSource</p>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
-    <h2>Public methods</h2>
-    <div><a name="PagedList(androidx.paging.DataSource, androidx.paging.PagedList.Config, java.util.concurrent.Executor, java.util.concurrent.Executor, androidx.paging.PagedList.BoundaryCallback, kotlin.Any)"></a><a name="PagedList-androidx.paging.DataSource-androidx.paging.PagedList.Config-java.util.concurrent.Executor-java.util.concurrent.Executor-androidx.paging.PagedList.BoundaryCallback-kotlin.Any-"></a>
-      <h3 class="api-name" id="PagedList(androidx.paging.DataSource,androidx.paging.PagedList.Config,java.util.concurrent.Executor,java.util.concurrent.Executor,androidx.paging.PagedList.BoundaryCallback,kotlin.Any)">PagedList</h3>
-      <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagedList.html">PagedList</a>&lt;Value&gt;&nbsp;<span><del><a href="/reference/androidx/paging/PagedListKt.html#PagedList(androidx.paging.DataSource,androidx.paging.PagedList.Config,java.util.concurrent.Executor,java.util.concurrent.Executor,androidx.paging.PagedList.BoundaryCallback,kotlin.Any)">PagedList</a></del></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/DataSource.html">DataSource</a>&lt;Key,&nbsp;Value&gt;&nbsp;dataSource,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagedList.Config.html">PagedList.Config</a>&nbsp;config,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/java/util/concurrent/Executor.html">Executor</a>&nbsp;notifyExecutor,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/java/util/concurrent/Executor.html">Executor</a>&nbsp;fetchExecutor,<br>&nbsp;&nbsp;&nbsp;&nbsp;@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a>&nbsp;<a href="/reference/androidx/paging/PagedList.BoundaryCallback.html">PagedList.BoundaryCallback</a>&lt;Value&gt;&nbsp;boundaryCallback,<br>&nbsp;&nbsp;&nbsp;&nbsp;@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a>&nbsp;Key&nbsp;initialKey<br>)</pre>
-      <aside class="caution"><strong>This method is deprecated.</strong><br>DataSource is deprecated and has been replaced by PagingSource</aside>
-      <p>Constructs a <code><a href="/reference/androidx/paging/PagedList.html">PagedList</a></code>, convenience for <code><a href="/reference/androidx/paging/PagedList.Builder.html">PagedList.Builder</a></code>.</p>
-      <div class="devsite-table-wrapper">
-        <table class="responsive">
-          <thead>
-            <tr>
-              <th colspan="2">Parameters</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td><code>Key</code></td>
-              <td width="100%">
-                <p>Type of key used to load data from the <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code>.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>Value</code></td>
-              <td width="100%">
-                <p>Type of items held and loaded by the <code><a href="/reference/androidx/paging/PagedList.html">PagedList</a></code>.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>dataSource</code></td>
-              <td width="100%">
-                <p><code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code> the <code><a href="/reference/androidx/paging/PagedList.html">PagedList</a></code> will load from.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>config</code></td>
-              <td width="100%">
-                <p>Config that defines how the <code><a href="/reference/androidx/paging/PagedList.html">PagedList</a></code> loads data from its <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code>.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>notifyExecutor</code></td>
-              <td width="100%">
-                <p><code><a href="/reference/java/util/concurrent/Executor.html">Executor</a></code> that receives <code><a href="/reference/androidx/paging/PagedList.html">PagedList</a></code> updates, and where <code><a href="/reference/androidx/paging/PagedList.Callback.html">PagedList.Callback</a></code> calls are dispatched. Generally, this is the UI/main thread.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>fetchExecutor</code></td>
-              <td width="100%">
-                <p><code><a href="/reference/java/util/concurrent/Executor.html">Executor</a></code> used to fetch from <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code>s, generally a background thread pool for e.g. I/O or network loading.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>boundaryCallback</code></td>
-              <td width="100%">
-                <p><code><a href="/reference/androidx/paging/PagedList.BoundaryCallback.html">PagedList.BoundaryCallback</a></code> for listening to out-of-data events.</p>
-              </td>
-            </tr>
-            <tr>
-              <td><code>initialKey</code></td>
-              <td width="100%">
-                <p><code><a href="/reference/androidx/paging/package-summary.html#PagedList(androidx.paging.DataSource,androidx.paging.PagedList.Config,java.util.concurrent.Executor,java.util.concurrent.Executor,androidx.paging.PagedList.BoundaryCallback,kotlin.Any)">Key</a></code> the <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code> should load around as part of initialization.</p>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/testData/paging/docs/reference/androidx/paging/PagingData.html b/testData/paging/docs/reference/androidx/paging/PagingData.html
index 416ca3b..aa0cdcb 100644
--- a/testData/paging/docs/reference/androidx/paging/PagingData.html
+++ b/testData/paging/docs/reference/androidx/paging/PagingData.html
@@ -42,14 +42,14 @@
           <tr>
             <td><code>final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/PagingData.html#filterSync(kotlin.Function1)">filterSync</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&nbsp;predicate)</code></div>
+              <div><code><a href="/reference/androidx/paging/PagingData.html#filter(kotlin.Function1)">filter</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&nbsp;predicate)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing only elements matching the given <code><a href="/reference/androidx/paging/PagingData.html#predicate()">predicate</a></code></p>
             </td>
           </tr>
           <tr>
             <td><code>final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/PagingData.html#flatMapSync(kotlin.Function1)">flatMapSync</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&nbsp;transform)</code></div>
+              <div><code><a href="/reference/androidx/paging/PagingData.html#flatMap(kotlin.Function1)">flatMap</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&nbsp;transform)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> of all elements returned from applying the given <code><a href="/reference/androidx/paging/PagingData.html#transform()">transform</a></code> to each element, as it is loaded.</p>
             </td>
           </tr>
@@ -70,7 +70,7 @@
           <tr>
             <td><code>final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/PagingData.html#mapSync(kotlin.Function1)">mapSync</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;R&gt;&nbsp;transform)</code></div>
+              <div><code><a href="/reference/androidx/paging/PagingData.html#map(kotlin.Function1)">map</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;R&gt;&nbsp;transform)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing the result of applying the given <code><a href="/reference/androidx/paging/PagingData.html#transform()">transform</a></code> to each element, as it is loaded.</p>
             </td>
           </tr>
@@ -78,9 +78,9 @@
       </table>
     </div>
     <h2>Public methods</h2>
-    <div><a name="filterSync-kotlin.Function1-"></a>
-      <h3 class="api-name" id="filterSync(kotlin.Function1)">filterSync</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;<a href="/reference/androidx/paging/PagingData.html#filterSync(kotlin.Function1)">filterSync</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&nbsp;predicate)</pre>
+    <div><a name="filter-kotlin.Function1-"></a>
+      <h3 class="api-name" id="filter(kotlin.Function1)">filter</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;<a href="/reference/androidx/paging/PagingData.html#filter(kotlin.Function1)">filter</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&nbsp;predicate)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing only elements matching the given <code><a href="/reference/androidx/paging/PagingData.html#predicate()">predicate</a></code></p>
       <div class="devsite-table-wrapper">
         <table class="responsive">
@@ -98,9 +98,9 @@
         </table>
       </div>
     </div>
-    <div><a name="flatMapSync-kotlin.Function1-"></a>
-      <h3 class="api-name" id="flatMapSync(kotlin.Function1)">flatMapSync</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/PagingData.html#flatMapSync(kotlin.Function1)">flatMapSync</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&nbsp;transform)</pre>
+    <div><a name="flatMap-kotlin.Function1-"></a>
+      <h3 class="api-name" id="flatMap(kotlin.Function1)">flatMap</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/PagingData.html#flatMap(kotlin.Function1)">flatMap</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&nbsp;transform)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> of all elements returned from applying the given <code><a href="/reference/androidx/paging/PagingData.html#transform()">transform</a></code> to each element, as it is loaded.</p>
       <div class="devsite-table-wrapper">
         <table class="responsive">
@@ -162,9 +162,9 @@
         </table>
       </div>
     </div>
-    <div><a name="mapSync-kotlin.Function1-"></a>
-      <h3 class="api-name" id="mapSync(kotlin.Function1)">mapSync</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/PagingData.html#mapSync(kotlin.Function1)">mapSync</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;R&gt;&nbsp;transform)</pre>
+    <div><a name="map-kotlin.Function1-"></a>
+      <h3 class="api-name" id="map(kotlin.Function1)">map</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/PagingData.html#map(kotlin.Function1)">map</a>(<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;R&gt;&nbsp;transform)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing the result of applying the given <code><a href="/reference/androidx/paging/PagingData.html#transform()">transform</a></code> to each element, as it is loaded.</p>
       <div class="devsite-table-wrapper">
         <table class="responsive">
diff --git a/testData/paging/docs/reference/androidx/paging/PagingDataKt.html b/testData/paging/docs/reference/androidx/paging/PagingDataKt.html
deleted file mode 100644
index da1f64c..0000000
--- a/testData/paging/docs/reference/androidx/paging/PagingDataKt.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<html devsite="true">
-  <head>
-    <title>PagingDataKt</title>
-{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %}
-{% include "_shared/_reference-head-tags.html" %}
-  </head>
-  <body>
-    <h1>PagingDataKt</h1>
-{% setvar page_path %}androidx/paging/PagingDataKt.html{% endsetvar %}
-{% setvar can_switch %}1{% endsetvar %}
-{% include "reference/_java_switcher2.md" %}
-    <p>
-      <pre>public final class PagingDataKt</pre>
-    </p>
-    <hr>
-    <h2>Summary</h2>
-    <div class="devsite-table-wrapper">
-      <table class="responsive">
-        <thead>
-          <tr>
-            <th colspan="2"><h3>Public methods</h3></th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;</code></td>
-            <td width="100%">
-              <div><code><a href="/reference/androidx/paging/PagingDataKt.html#filter(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">filter</a>(<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,&nbsp;<a href="/reference/kotlin/coroutines/SuspendFunction1.html">SuspendFunction1</a>&lt;T,&nbsp;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&nbsp;predicate)</code></div>
-              <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing only elements matching the given <code><a href="/reference/androidx/paging/package-summary.html#predicate()">predicate</a></code></p>
-            </td>
-          </tr>
-          <tr>
-            <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
-            <td width="100%">
-              <div><code><a href="/reference/androidx/paging/PagingDataKt.html#flatMap(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">flatMap</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/coroutines/SuspendFunction1.html">SuspendFunction1</a>&lt;T,&nbsp;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&nbsp;transform<br>)</code></div>
-              <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> of all elements returned from applying the given <code><a href="/reference/androidx/paging/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
-            </td>
-          </tr>
-          <tr>
-            <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
-            <td width="100%">
-              <div><code><a href="/reference/androidx/paging/PagingDataKt.html#insertSeparators(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction2)">insertSeparators</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/coroutines/SuspendFunction2.html">SuspendFunction2</a>&lt;T,&nbsp;T,&nbsp;R&gt;&nbsp;generator<br>)</code></div>
-              <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing each original element, with an optional separator generated by <code><a href="/reference/androidx/paging/package-summary.html#generator()">generator</a></code>, given the elements before and after (or null, in boundary conditions).</p>
-            </td>
-          </tr>
-          <tr>
-            <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
-            <td width="100%">
-              <div><code><a href="/reference/androidx/paging/PagingDataKt.html#map(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">map</a>(<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,&nbsp;<a href="/reference/kotlin/coroutines/SuspendFunction1.html">SuspendFunction1</a>&lt;T,&nbsp;R&gt;&nbsp;transform)</code></div>
-              <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing the result of applying the given <code><a href="/reference/androidx/paging/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
-    <h2>Public methods</h2>
-    <div><a name="filter(androidx.paging.PagingData, kotlin.coroutines.SuspendFunction1)"></a><a name="filter-androidx.paging.PagingData-kotlin.coroutines.SuspendFunction1-"></a>
-      <h3 class="api-name" id="filter(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">filter</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;<a href="/reference/androidx/paging/PagingDataKt.html#filter(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">filter</a>(<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,&nbsp;<a href="/reference/kotlin/coroutines/SuspendFunction1.html">SuspendFunction1</a>&lt;T,&nbsp;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&nbsp;predicate)</pre>
-      <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing only elements matching the given <code><a href="/reference/androidx/paging/package-summary.html#predicate()">predicate</a></code></p>
-    </div>
-    <div><a name="flatMap(androidx.paging.PagingData, kotlin.coroutines.SuspendFunction1)"></a><a name="flatMap-androidx.paging.PagingData-kotlin.coroutines.SuspendFunction1-"></a>
-      <h3 class="api-name" id="flatMap(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">flatMap</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/PagingDataKt.html#flatMap(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">flatMap</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/coroutines/SuspendFunction1.html">SuspendFunction1</a>&lt;T,&nbsp;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&nbsp;transform<br>)</pre>
-      <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> of all elements returned from applying the given <code><a href="/reference/androidx/paging/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
-    </div>
-    <div><a name="insertSeparators(androidx.paging.PagingData, kotlin.coroutines.SuspendFunction2)"></a><a name="insertSeparators-androidx.paging.PagingData-kotlin.coroutines.SuspendFunction2-"></a>
-      <h3 class="api-name" id="insertSeparators(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction2)">insertSeparators</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/PagingDataKt.html#insertSeparators(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction2)">insertSeparators</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/coroutines/SuspendFunction2.html">SuspendFunction2</a>&lt;T,&nbsp;T,&nbsp;R&gt;&nbsp;generator<br>)</pre>
-      <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing each original element, with an optional separator generated by <code><a href="/reference/androidx/paging/package-summary.html#generator()">generator</a></code>, given the elements before and after (or null, in boundary conditions).</p>
-      <p>Note that this transform is applied asynchronously, as pages are loaded. Potential separators between pages are only computed once both pages are loaded.</p>
-    </div>
-    <div><a name="map(androidx.paging.PagingData, kotlin.coroutines.SuspendFunction1)"></a><a name="map-androidx.paging.PagingData-kotlin.coroutines.SuspendFunction1-"></a>
-      <h3 class="api-name" id="map(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">map</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/PagingDataKt.html#map(androidx.paging.PagingData,kotlin.coroutines.SuspendFunction1)">map</a>(<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,&nbsp;<a href="/reference/kotlin/coroutines/SuspendFunction1.html">SuspendFunction1</a>&lt;T,&nbsp;R&gt;&nbsp;transform)</pre>
-      <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing the result of applying the given <code><a href="/reference/androidx/paging/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
-    </div>
-  </body>
-</html>
diff --git a/testData/paging/docs/reference/androidx/paging/PagingLiveDataKt.html b/testData/paging/docs/reference/androidx/paging/PagingLiveDataKt.html
index e0982ce..73511aa 100644
--- a/testData/paging/docs/reference/androidx/paging/PagingLiveDataKt.html
+++ b/testData/paging/docs/reference/androidx/paging/PagingLiveDataKt.html
@@ -18,6 +18,24 @@
       <table class="responsive">
         <thead>
           <tr>
+            <th colspan="2"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>final <a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;</code></td>
+            <td width="100%">
+              <div><code><a href="/reference/androidx/paging/package-summary.html#liveData(androidx.paging.Pager)">liveData</a></code></div>
+              <p>A LiveData of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as a LiveData.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <thead>
+          <tr>
             <th colspan="2"><h3>Public methods</h3></th>
           </tr>
         </thead>
@@ -39,6 +57,12 @@
         </tbody>
       </table>
     </div>
+    <h2>Public fields</h2>
+    <div><a name="getLiveData(androidx.paging.Pager)"></a><a name="setLiveData(androidx.paging.Pager)"></a><a name="getLiveData-androidx.paging.Pager-"></a><a name="setLiveData-androidx.paging.Pager-"></a>
+      <h3 class="api-name" id="liveData(androidx.paging.Pager)">liveData</h3>
+      <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;&nbsp;<a href="/reference/androidx/paging/package-summary.html#liveData(androidx.paging.Pager)">liveData</a></pre>
+      <p>A <a href="[LiveData]">LiveData</a> of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as a <a href="[LiveData]">LiveData</a>.</p>
+    </div>
     <h2>Public methods</h2>
     <div><a name="cachedIn(, )"></a><a name="cachedIn---"></a>
       <h3 class="api-name" id="cachedIn(,)">cachedIn</h3>
diff --git a/testData/paging/docs/reference/androidx/paging/package-summary.html b/testData/paging/docs/reference/androidx/paging/package-summary.html
index fc109cc..e7769e2 100644
--- a/testData/paging/docs/reference/androidx/paging/package-summary.html
+++ b/testData/paging/docs/reference/androidx/paging/package-summary.html
@@ -260,14 +260,6 @@
             </td>
           </tr>
           <tr>
-            <td><code><a href="/reference/androidx/paging/PagedListConfigKt.html">PagedListConfigKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/androidx/paging/PagedListKt.html">PagedListKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
             <td><code><a href="/reference/androidx/paging/Pager.html">Pager</a></code></td>
             <td width="100%">
               <p>Primary entry point into Paging; constructor for a reactive stream of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>.</p>
@@ -296,10 +288,6 @@
             <td width="100%"></td>
           </tr>
           <tr>
-            <td><code><a href="/reference/androidx/paging/PagingDataKt.html">PagingDataKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
             <td><code><a href="/reference/androidx/paging/PagingLiveDataKt.html">PagingLiveDataKt</a></code></td>
             <td width="100%"></td>
           </tr>
diff --git a/testData/paging/docs/reference/androidx/paging/rxjava2/PagingRxKt.html b/testData/paging/docs/reference/androidx/paging/rxjava2/PagingRxKt.html
index 1ef39a2..fdcb2c9 100644
--- a/testData/paging/docs/reference/androidx/paging/rxjava2/PagingRxKt.html
+++ b/testData/paging/docs/reference/androidx/paging/rxjava2/PagingRxKt.html
@@ -18,6 +18,31 @@
       <table class="responsive">
         <thead>
           <tr>
+            <th colspan="2"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>final <a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;</code></td>
+            <td width="100%">
+              <div><code><a href="/reference/androidx/paging/rxjava2/package-summary.html#flowable(androidx.paging.Pager)">flowable</a></code></div>
+              <p>A Flowable of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as a Flowable.</p>
+            </td>
+          </tr>
+          <tr>
+            <td><code>final <a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;</code></td>
+            <td width="100%">
+              <div><code><a href="/reference/androidx/paging/rxjava2/package-summary.html#observable(androidx.paging.Pager)">observable</a></code></div>
+              <p>An Observable of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as an Observable.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <thead>
+          <tr>
             <th colspan="2"><h3>Public methods</h3></th>
           </tr>
         </thead>
@@ -39,6 +64,17 @@
         </tbody>
       </table>
     </div>
+    <h2>Public fields</h2>
+    <div><a name="getFlowable(androidx.paging.Pager)"></a><a name="setFlowable(androidx.paging.Pager)"></a><a name="getFlowable-androidx.paging.Pager-"></a><a name="setFlowable-androidx.paging.Pager-"></a>
+      <h3 class="api-name" id="flowable(androidx.paging.Pager)">flowable</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/kotlin/OptIn.html">OptIn</a>(markerClass&nbsp;=&nbsp;[ExperimentalCoroutinesApi])<br>public&nbsp;final&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/package-summary.html#flowable(androidx.paging.Pager)">flowable</a></pre>
+      <p>A <a href="[Flowable]">Flowable</a> of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as a <a href="[Flowable]">Flowable</a>.</p>
+    </div>
+    <div><a name="getObservable(androidx.paging.Pager)"></a><a name="setObservable(androidx.paging.Pager)"></a><a name="getObservable-androidx.paging.Pager-"></a><a name="setObservable-androidx.paging.Pager-"></a>
+      <h3 class="api-name" id="observable(androidx.paging.Pager)">observable</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/kotlin/OptIn.html">OptIn</a>(markerClass&nbsp;=&nbsp;[ExperimentalCoroutinesApi])<br>public&nbsp;final&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/package-summary.html#observable(androidx.paging.Pager)">observable</a></pre>
+      <p>An <a href="[Observable]">Observable</a> of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as an <a href="[Observable]">Observable</a>.</p>
+    </div>
     <h2>Public methods</h2>
     <div><a name="cachedIn(, kotlinx.coroutines.CoroutineScope)"></a><a name="cachedIn--kotlinx.coroutines.CoroutineScope-"></a>
       <h3 class="api-name" id="cachedIn(,kotlinx.coroutines.CoroutineScope)">cachedIn</h3>
diff --git a/testData/paging/docs/reference/androidx/paging/rxjava2/RxPagingDataKt.html b/testData/paging/docs/reference/androidx/paging/rxjava2/RxPagingDataKt.html
index f1a6e91..7d22477 100644
--- a/testData/paging/docs/reference/androidx/paging/rxjava2/RxPagingDataKt.html
+++ b/testData/paging/docs/reference/androidx/paging/rxjava2/RxPagingDataKt.html
@@ -25,28 +25,28 @@
           <tr>
             <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#filterAsync(androidx.paging.PagingData,kotlin.Function1)">filterAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&gt;&nbsp;predicate<br>)</code></div>
+              <div><code><a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#filter(androidx.paging.PagingData,kotlin.Function1)">filter</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&gt;&nbsp;predicate<br>)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing only elements matching the given <code><a href="/reference/androidx/paging/rxjava2/package-summary.html#predicate()">predicate</a></code>.</p>
             </td>
           </tr>
           <tr>
             <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#flatMapAsync(androidx.paging.PagingData,kotlin.Function1)">flatMapAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&gt;&nbsp;transform<br>)</code></div>
+              <div><code><a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#flatMap(androidx.paging.PagingData,kotlin.Function1)">flatMap</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&gt;&nbsp;transform<br>)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> of all elements returned from applying the given <code><a href="/reference/androidx/paging/rxjava2/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
             </td>
           </tr>
           <tr>
             <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#insertSeparatorsAsync(androidx.paging.PagingData,kotlin.Function2)">insertSeparatorsAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function2.html">Function2</a>&lt;T,&nbsp;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;generator<br>)</code></div>
+              <div><code><a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#insertSeparators(androidx.paging.PagingData,kotlin.Function2)">insertSeparators</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function2.html">Function2</a>&lt;T,&nbsp;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;generator<br>)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing each original element, with an optional separator generated by <code><a href="/reference/androidx/paging/rxjava2/package-summary.html#generator()">generator</a></code>, given the elements before and after (or null, in boundary conditions).</p>
             </td>
           </tr>
           <tr>
             <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#mapAsync(androidx.paging.PagingData,kotlin.Function1)">mapAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;transform<br>)</code></div>
+              <div><code><a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#map(androidx.paging.PagingData,kotlin.Function1)">map</a>(<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;transform)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing the result of applying the given <code><a href="/reference/androidx/paging/rxjava2/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
             </td>
           </tr>
@@ -54,25 +54,25 @@
       </table>
     </div>
     <h2>Public methods</h2>
-    <div><a name="filterAsync(androidx.paging.PagingData, kotlin.Function1)"></a><a name="filterAsync-androidx.paging.PagingData-kotlin.Function1-"></a>
-      <h3 class="api-name" id="filterAsync(androidx.paging.PagingData,kotlin.Function1)">filter</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#filterAsync(androidx.paging.PagingData,kotlin.Function1)">filterAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&gt;&nbsp;predicate<br>)</pre>
+    <div><a name="filter(androidx.paging.PagingData, kotlin.Function1)"></a><a name="filter-androidx.paging.PagingData-kotlin.Function1-"></a>
+      <h3 class="api-name" id="filter(androidx.paging.PagingData,kotlin.Function1)">filter</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#filter(androidx.paging.PagingData,kotlin.Function1)">filter</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&gt;&nbsp;predicate<br>)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing only elements matching the given <code><a href="/reference/androidx/paging/rxjava2/package-summary.html#predicate()">predicate</a></code>.</p>
     </div>
-    <div><a name="flatMapAsync(androidx.paging.PagingData, kotlin.Function1)"></a><a name="flatMapAsync-androidx.paging.PagingData-kotlin.Function1-"></a>
-      <h3 class="api-name" id="flatMapAsync(androidx.paging.PagingData,kotlin.Function1)">flatMap</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#flatMapAsync(androidx.paging.PagingData,kotlin.Function1)">flatMapAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&gt;&nbsp;transform<br>)</pre>
+    <div><a name="flatMap(androidx.paging.PagingData, kotlin.Function1)"></a><a name="flatMap-androidx.paging.PagingData-kotlin.Function1-"></a>
+      <h3 class="api-name" id="flatMap(androidx.paging.PagingData,kotlin.Function1)">flatMap</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#flatMap(androidx.paging.PagingData,kotlin.Function1)">flatMap</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&gt;&nbsp;transform<br>)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> of all elements returned from applying the given <code><a href="/reference/androidx/paging/rxjava2/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
     </div>
-    <div><a name="insertSeparatorsAsync(androidx.paging.PagingData, kotlin.Function2)"></a><a name="insertSeparatorsAsync-androidx.paging.PagingData-kotlin.Function2-"></a>
-      <h3 class="api-name" id="insertSeparatorsAsync(androidx.paging.PagingData,kotlin.Function2)">insertSeparators</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#insertSeparatorsAsync(androidx.paging.PagingData,kotlin.Function2)">insertSeparatorsAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function2.html">Function2</a>&lt;T,&nbsp;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;generator<br>)</pre>
+    <div><a name="insertSeparators(androidx.paging.PagingData, kotlin.Function2)"></a><a name="insertSeparators-androidx.paging.PagingData-kotlin.Function2-"></a>
+      <h3 class="api-name" id="insertSeparators(androidx.paging.PagingData,kotlin.Function2)">insertSeparators</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#insertSeparators(androidx.paging.PagingData,kotlin.Function2)">insertSeparators</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function2.html">Function2</a>&lt;T,&nbsp;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;generator<br>)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing each original element, with an optional separator generated by <code><a href="/reference/androidx/paging/rxjava2/package-summary.html#generator()">generator</a></code>, given the elements before and after (or null, in boundary conditions).</p>
       <p>Note that this transform is applied asynchronously, as pages are loaded. Potential separators between pages are only computed once both pages are loaded.</p>
     </div>
-    <div><a name="mapAsync(androidx.paging.PagingData, kotlin.Function1)"></a><a name="mapAsync-androidx.paging.PagingData-kotlin.Function1-"></a>
-      <h3 class="api-name" id="mapAsync(androidx.paging.PagingData,kotlin.Function1)">map</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#mapAsync(androidx.paging.PagingData,kotlin.Function1)">mapAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;transform<br>)</pre>
+    <div><a name="map(androidx.paging.PagingData, kotlin.Function1)"></a><a name="map-androidx.paging.PagingData-kotlin.Function1-"></a>
+      <h3 class="api-name" id="map(androidx.paging.PagingData,kotlin.Function1)">map</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava2/RxPagingDataKt.html#map(androidx.paging.PagingData,kotlin.Function1)">map</a>(<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;transform)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing the result of applying the given <code><a href="/reference/androidx/paging/rxjava2/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
     </div>
   </body>
diff --git a/testData/paging/docs/reference/androidx/paging/rxjava3/PagingRxKt.html b/testData/paging/docs/reference/androidx/paging/rxjava3/PagingRxKt.html
index b920514..93e9af2 100644
--- a/testData/paging/docs/reference/androidx/paging/rxjava3/PagingRxKt.html
+++ b/testData/paging/docs/reference/androidx/paging/rxjava3/PagingRxKt.html
@@ -18,6 +18,31 @@
       <table class="responsive">
         <thead>
           <tr>
+            <th colspan="2"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>final <a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;</code></td>
+            <td width="100%">
+              <div><code><a href="/reference/androidx/paging/rxjava3/package-summary.html#flowable(androidx.paging.Pager)">flowable</a></code></div>
+              <p>A Flowable of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as a Flowable.</p>
+            </td>
+          </tr>
+          <tr>
+            <td><code>final <a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;</code></td>
+            <td width="100%">
+              <div><code><a href="/reference/androidx/paging/rxjava3/package-summary.html#observable(androidx.paging.Pager)">observable</a></code></div>
+              <p>An Observable of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as an Observable.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <thead>
+          <tr>
             <th colspan="2"><h3>Public methods</h3></th>
           </tr>
         </thead>
@@ -39,6 +64,17 @@
         </tbody>
       </table>
     </div>
+    <h2>Public fields</h2>
+    <div><a name="getFlowable(androidx.paging.Pager)"></a><a name="setFlowable(androidx.paging.Pager)"></a><a name="getFlowable-androidx.paging.Pager-"></a><a name="setFlowable-androidx.paging.Pager-"></a>
+      <h3 class="api-name" id="flowable(androidx.paging.Pager)">flowable</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/kotlin/OptIn.html">OptIn</a>(markerClass&nbsp;=&nbsp;[ExperimentalCoroutinesApi])<br>public&nbsp;final&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/package-summary.html#flowable(androidx.paging.Pager)">flowable</a></pre>
+      <p>A <a href="[Flowable]">Flowable</a> of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as a <a href="[Flowable]">Flowable</a>.</p>
+    </div>
+    <div><a name="getObservable(androidx.paging.Pager)"></a><a name="setObservable(androidx.paging.Pager)"></a><a name="getObservable-androidx.paging.Pager-"></a><a name="setObservable-androidx.paging.Pager-"></a>
+      <h3 class="api-name" id="observable(androidx.paging.Pager)">observable</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/kotlin/OptIn.html">OptIn</a>(markerClass&nbsp;=&nbsp;[ExperimentalCoroutinesApi])<br>public&nbsp;final&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;Value&gt;&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/package-summary.html#observable(androidx.paging.Pager)">observable</a></pre>
+      <p>An <a href="[Observable]">Observable</a> of <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code>, which mirrors the stream provided by <code><a href="/reference/androidx/paging/Pager.html#flow()">Pager.flow</a></code>, but exposes it as an <a href="[Observable]">Observable</a>.</p>
+    </div>
     <h2>Public methods</h2>
     <div><a name="cachedIn(, kotlinx.coroutines.CoroutineScope)"></a><a name="cachedIn--kotlinx.coroutines.CoroutineScope-"></a>
       <h3 class="api-name" id="cachedIn(,kotlinx.coroutines.CoroutineScope)">cachedIn</h3>
diff --git a/testData/paging/docs/reference/androidx/paging/rxjava3/RxPagingDataKt.html b/testData/paging/docs/reference/androidx/paging/rxjava3/RxPagingDataKt.html
index 765c4f4..fefe9ea 100644
--- a/testData/paging/docs/reference/androidx/paging/rxjava3/RxPagingDataKt.html
+++ b/testData/paging/docs/reference/androidx/paging/rxjava3/RxPagingDataKt.html
@@ -25,28 +25,28 @@
           <tr>
             <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#filterAsync(androidx.paging.PagingData,kotlin.Function1)">filterAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&gt;&nbsp;predicate<br>)</code></div>
+              <div><code><a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#filter(androidx.paging.PagingData,kotlin.Function1)">filter</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&gt;&nbsp;predicate<br>)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing only elements matching the given <code><a href="/reference/androidx/paging/rxjava3/package-summary.html#predicate()">predicate</a></code>.</p>
             </td>
           </tr>
           <tr>
             <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#flatMapAsync(androidx.paging.PagingData,kotlin.Function1)">flatMapAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&gt;&nbsp;transform<br>)</code></div>
+              <div><code><a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#flatMap(androidx.paging.PagingData,kotlin.Function1)">flatMap</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&gt;&nbsp;transform<br>)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> of all elements returned from applying the given <code><a href="/reference/androidx/paging/rxjava3/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
             </td>
           </tr>
           <tr>
             <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#insertSeparatorsAsync(androidx.paging.PagingData,kotlin.Function2)">insertSeparatorsAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function2.html">Function2</a>&lt;T,&nbsp;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;generator<br>)</code></div>
+              <div><code><a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#insertSeparators(androidx.paging.PagingData,kotlin.Function2)">insertSeparators</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function2.html">Function2</a>&lt;T,&nbsp;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;generator<br>)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing each original element, with an optional separator generated by <code><a href="/reference/androidx/paging/rxjava3/package-summary.html#generator()">generator</a></code>, given the elements before and after (or null, in boundary conditions).</p>
             </td>
           </tr>
           <tr>
             <td><code>static&nbsp;final <a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;</code></td>
             <td width="100%">
-              <div><code><a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#mapAsync(androidx.paging.PagingData,kotlin.Function1)">mapAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;transform<br>)</code></div>
+              <div><code><a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#map(androidx.paging.PagingData,kotlin.Function1)">map</a>(<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;transform)</code></div>
               <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing the result of applying the given <code><a href="/reference/androidx/paging/rxjava3/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
             </td>
           </tr>
@@ -54,25 +54,25 @@
       </table>
     </div>
     <h2>Public methods</h2>
-    <div><a name="filterAsync(androidx.paging.PagingData, kotlin.Function1)"></a><a name="filterAsync-androidx.paging.PagingData-kotlin.Function1-"></a>
-      <h3 class="api-name" id="filterAsync(androidx.paging.PagingData,kotlin.Function1)">filter</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#filterAsync(androidx.paging.PagingData,kotlin.Function1)">filterAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&gt;&nbsp;predicate<br>)</pre>
+    <div><a name="filter(androidx.paging.PagingData, kotlin.Function1)"></a><a name="filter-androidx.paging.PagingData-kotlin.Function1-"></a>
+      <h3 class="api-name" id="filter(androidx.paging.PagingData,kotlin.Function1)">filter</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#filter(androidx.paging.PagingData,kotlin.Function1)">filter</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/java/lang/Boolean.html">Boolean</a>&gt;&gt;&nbsp;predicate<br>)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing only elements matching the given <code><a href="/reference/androidx/paging/rxjava3/package-summary.html#predicate()">predicate</a></code>.</p>
     </div>
-    <div><a name="flatMapAsync(androidx.paging.PagingData, kotlin.Function1)"></a><a name="flatMapAsync-androidx.paging.PagingData-kotlin.Function1-"></a>
-      <h3 class="api-name" id="flatMapAsync(androidx.paging.PagingData,kotlin.Function1)">flatMap</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#flatMapAsync(androidx.paging.PagingData,kotlin.Function1)">flatMapAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&gt;&nbsp;transform<br>)</pre>
+    <div><a name="flatMap(androidx.paging.PagingData, kotlin.Function1)"></a><a name="flatMap-androidx.paging.PagingData-kotlin.Function1-"></a>
+      <h3 class="api-name" id="flatMap(androidx.paging.PagingData,kotlin.Function1)">flatMap</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#flatMap(androidx.paging.PagingData,kotlin.Function1)">flatMap</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;<a href="/reference/kotlin/collections/Iterable.html">Iterable</a>&lt;R&gt;&gt;&gt;&nbsp;transform<br>)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> of all elements returned from applying the given <code><a href="/reference/androidx/paging/rxjava3/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
     </div>
-    <div><a name="insertSeparatorsAsync(androidx.paging.PagingData, kotlin.Function2)"></a><a name="insertSeparatorsAsync-androidx.paging.PagingData-kotlin.Function2-"></a>
-      <h3 class="api-name" id="insertSeparatorsAsync(androidx.paging.PagingData,kotlin.Function2)">insertSeparators</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#insertSeparatorsAsync(androidx.paging.PagingData,kotlin.Function2)">insertSeparatorsAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function2.html">Function2</a>&lt;T,&nbsp;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;generator<br>)</pre>
+    <div><a name="insertSeparators(androidx.paging.PagingData, kotlin.Function2)"></a><a name="insertSeparators-androidx.paging.PagingData-kotlin.Function2-"></a>
+      <h3 class="api-name" id="insertSeparators(androidx.paging.PagingData,kotlin.Function2)">insertSeparators</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#insertSeparators(androidx.paging.PagingData,kotlin.Function2)">insertSeparators</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function2.html">Function2</a>&lt;T,&nbsp;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;generator<br>)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing each original element, with an optional separator generated by <code><a href="/reference/androidx/paging/rxjava3/package-summary.html#generator()">generator</a></code>, given the elements before and after (or null, in boundary conditions).</p>
       <p>Note that this transform is applied asynchronously, as pages are loaded. Potential separators between pages are only computed once both pages are loaded.</p>
     </div>
-    <div><a name="mapAsync(androidx.paging.PagingData, kotlin.Function1)"></a><a name="mapAsync-androidx.paging.PagingData-kotlin.Function1-"></a>
-      <h3 class="api-name" id="mapAsync(androidx.paging.PagingData,kotlin.Function1)">map</h3>
-      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#mapAsync(androidx.paging.PagingData,kotlin.Function1)">mapAsync</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;transform<br>)</pre>
+    <div><a name="map(androidx.paging.PagingData, kotlin.Function1)"></a><a name="map-androidx.paging.PagingData-kotlin.Function1-"></a>
+      <h3 class="api-name" id="map(androidx.paging.PagingData,kotlin.Function1)">map</h3>
+      <pre class="api-signature no-pretty-print">@<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a><br>public&nbsp;static&nbsp;final&nbsp;<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;R&gt;&nbsp;<a href="/reference/androidx/paging/rxjava3/RxPagingDataKt.html#map(androidx.paging.PagingData,kotlin.Function1)">map</a>(<a href="/reference/androidx/paging/PagingData.html">PagingData</a>&lt;T&gt;&nbsp;receiver,&nbsp;<a href="/reference/kotlin/Function1.html">Function1</a>&lt;T,&nbsp;<a href="/reference/[JVM root]/&lt;ERROR CLASS&gt;.html">&lt;ERROR CLASS&gt;</a>&lt;R&gt;&gt;&nbsp;transform)</pre>
       <p>Returns a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> containing the result of applying the given <code><a href="/reference/androidx/paging/rxjava3/package-summary.html#transform()">transform</a></code> to each element, as it is loaded.</p>
     </div>
   </body>
diff --git a/testData/paging/docs/reference/kotlin/androidx/classes.html b/testData/paging/docs/reference/kotlin/androidx/classes.html
index c89240c..189645e 100644
--- a/testData/paging/docs/reference/kotlin/androidx/classes.html
+++ b/testData/paging/docs/reference/kotlin/androidx/classes.html
@@ -341,14 +341,6 @@
             </td>
           </tr>
           <tr>
-            <td><code><a href="/reference/kotlin/androidx/paging/PagedListConfigKt.html">PagedListConfigKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/kotlin/androidx/paging/PagedListKt.html">PagedListKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
             <td><code><a href="/reference/kotlin/androidx/paging/Pager.html">Pager</a></code></td>
             <td width="100%">
               <p>Primary entry point into Paging; constructor for a reactive stream of <code><a href="/reference/kotlin/androidx/paging/PagingData.html">PagingData</a></code>.</p>
@@ -385,10 +377,6 @@
             <td width="100%"></td>
           </tr>
           <tr>
-            <td><code><a href="/reference/kotlin/androidx/paging/PagingDataKt.html">PagingDataKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
             <td><code><a href="/reference/kotlin/androidx/paging/PagingLiveDataKt.html">PagingLiveDataKt</a></code></td>
             <td width="100%"></td>
           </tr>
@@ -501,18 +489,6 @@
             <td width="100%"></td>
           </tr>
           <tr>
-            <td><code><a href="/reference/kotlin/androidx/paging/PagedListKt.html">PagedListKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/kotlin/androidx/paging/PagedListConfigKt.html">PagedListConfigKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
-            <td><code><a href="/reference/kotlin/androidx/paging/PagingDataKt.html">PagingDataKt</a></code></td>
-            <td width="100%"></td>
-          </tr>
-          <tr>
             <td><code><a href="/reference/kotlin/androidx/paging/PagingSourceKt.html">PagingSourceKt</a></code></td>
             <td width="100%"></td>
           </tr>
diff --git a/testData/topLevelFunctions/docs/reference/dokkatest/alone/FooKt.html b/testData/topLevelFunctions/docs/reference/dokkatest/alone/FooKt.html
index ac18001..2236d08 100644
--- a/testData/topLevelFunctions/docs/reference/dokkatest/alone/FooKt.html
+++ b/testData/topLevelFunctions/docs/reference/dokkatest/alone/FooKt.html
@@ -28,12 +28,6 @@
               <div><code><a href="/reference/dokkatest/alone/FooKt.html#noPlaceLikeHome()">noPlaceLikeHome</a>()</code></div>
             </td>
           </tr>
-          <tr>
-            <td><code>static&nbsp;final <a href="/reference/kotlin/String.html">String</a></code></td>
-            <td width="100%">
-              <div><code><a href="/reference/dokkatest/alone/FooKt.html#noPlaceLikeHomeExceptJava()">noPlaceLikeHomeExceptJava</a>()</code></div>
-            </td>
-          </tr>
         </tbody>
       </table>
     </div>
@@ -42,9 +36,5 @@
       <h3 class="api-name" id="noPlaceLikeHome()">noPlaceLikeHome</h3>
       <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;<a href="/reference/kotlin/String.html">String</a>&nbsp;<a href="/reference/dokkatest/alone/FooKt.html#noPlaceLikeHome()">noPlaceLikeHome</a>()</pre>
     </div>
-    <div><a name="noPlaceLikeHomeExceptJava--"></a>
-      <h3 class="api-name" id="noPlaceLikeHomeExceptJava()">noPlaceLikeHomeExceptJava</h3>
-      <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;<a href="/reference/kotlin/String.html">String</a>&nbsp;<a href="/reference/dokkatest/alone/FooKt.html#noPlaceLikeHomeExceptJava()">noPlaceLikeHomeExceptJava</a>()</pre>
-    </div>
   </body>
 </html>
diff --git a/testData/topLevelFunctions/docs/reference/dokkatest/toplevel/TopKt.html b/testData/topLevelFunctions/docs/reference/dokkatest/toplevel/TopKt.html
index 6213568..aeae13e 100644
--- a/testData/topLevelFunctions/docs/reference/dokkatest/toplevel/TopKt.html
+++ b/testData/topLevelFunctions/docs/reference/dokkatest/toplevel/TopKt.html
@@ -18,6 +18,48 @@
       <table class="responsive">
         <thead>
           <tr>
+            <th colspan="2"><h3>Constants</h3></th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>final static&nbsp;final boolean</code></td>
+            <td width="100%">
+              <div><code><a href="/reference/dokkatest/toplevel/package-summary.html#bool()">bool</a></code></div>
+              <p>Humpty Dumpty sat on a wall...</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <thead>
+          <tr>
+            <th colspan="2"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td><code>final <a href="/reference/dokkatest/toplevel/Foo.html">Foo</a></code></td>
+            <td width="100%">
+              <div><code><a href="/reference/dokkatest/toplevel/package-summary.html#hello()">hello</a></code></div>
+            </td>
+          </tr>
+          <tr>
+            <td><code>final int</code></td>
+            <td width="100%">
+              <div><code><a href="/reference/dokkatest/toplevel/package-summary.html#world(kotlin.String)">world</a></code></div>
+              <p>The Wheels on the Bus go round and round...</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <thead>
+          <tr>
             <th colspan="2"><h3>Public methods</h3></th>
           </tr>
         </thead>
@@ -52,6 +94,22 @@
         </tbody>
       </table>
     </div>
+    <h2>Constants</h2>
+    <div><a name="getBool()"></a><a name="setBool()"></a><a name="getBool--"></a><a name="setBool--"></a>
+      <h3 class="api-name" id="bool()">bool</h3>
+      <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;static&nbsp;final&nbsp;boolean&nbsp;<a href="/reference/dokkatest/toplevel/package-summary.html#bool()">bool</a></pre>
+      <p>Humpty Dumpty sat on a wall...</p>
+    </div>
+    <h2>Public fields</h2>
+    <div><a name="getHello()"></a><a name="setHello()"></a><a name="getHello--"></a><a name="setHello--"></a>
+      <h3 class="api-name" id="hello()">hello</h3>
+      <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;<a href="/reference/dokkatest/toplevel/Foo.html">Foo</a>&nbsp;<a href="/reference/dokkatest/toplevel/package-summary.html#hello()">hello</a></pre>
+    </div>
+    <div><a name="getWorld(kotlin.String)"></a><a name="setWorld(kotlin.String)"></a><a name="getWorld-kotlin.String-"></a><a name="setWorld-kotlin.String-"></a>
+      <h3 class="api-name" id="world(kotlin.String)">world</h3>
+      <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;int&nbsp;<a href="/reference/dokkatest/toplevel/package-summary.html#world(kotlin.String)">world</a></pre>
+      <p>The Wheels on the Bus go round and round...</p>
+    </div>
     <h2>Public methods</h2>
     <div><a name="a--"></a>
       <h3 class="api-name" id="a()">a</h3>