Fix issues in c.a.t.metalava.stub reported by IDE

Bug: 310644782
Test: ./gradlew
Change-Id: I1fa1bd35e8084947b597327662731fae74091619
diff --git a/metalava/src/main/java/com/android/tools/metalava/stub/JavaStubWriter.kt b/metalava/src/main/java/com/android/tools/metalava/stub/JavaStubWriter.kt
index ac621c6..c2dee16 100644
--- a/metalava/src/main/java/com/android/tools/metalava/stub/JavaStubWriter.kt
+++ b/metalava/src/main/java/com/android/tools/metalava/stub/JavaStubWriter.kt
@@ -31,7 +31,7 @@
 import java.io.PrintWriter
 import java.util.function.Predicate
 
-class JavaStubWriter(
+internal class JavaStubWriter(
     private val writer: PrintWriter,
     private val filterEmit: Predicate<Item>,
     private val filterReference: Predicate<Item>,
@@ -53,7 +53,7 @@
             if (options.includeDocumentationInStubs) {
                 // All the classes referenced in the stubs are fully qualified, so no imports are
                 // needed. However, in some cases for javadoc, replacement with fully qualified name
-                // fails and thus we need to include imports for the stubs to compile.
+                // fails, and thus we need to include imports for the stubs to compile.
                 cls.getSourceFile()?.getImports(filterReference)?.let {
                     for (item in it) {
                         if (item.isMember) {
@@ -95,7 +95,7 @@
 
         if (cls.isEnum()) {
             var first = true
-            // Enums should preserve the original source order, not alphabetical etc sort
+            // Enums should preserve the original source order, not alphabetical etc. sort
             for (field in cls.filteredFields(filterReference, true).sortedBy { it.sortingRank }) {
                 if (field.isEnumConstant()) {
                     if (first) {
@@ -276,7 +276,7 @@
                                     constructor
                                         .containingClass()
                                         .mapTypeVariables(it.containingClass())
-                                val cast = map.get(type.toTypeString(context = it)) ?: typeString
+                                val cast = map[type.toTypeString(context = it)] ?: typeString
                                 writer.write(cast)
                             } else {
                                 writer.write(typeString)
@@ -317,14 +317,10 @@
     }
 
     override fun visitMethod(method: MethodItem) {
-        writeMethod(method.containingClass(), method, false)
+        writeMethod(method.containingClass(), method)
     }
 
-    private fun writeMethod(
-        containingClass: ClassItem,
-        method: MethodItem,
-        movedFromInterface: Boolean
-    ) {
+    private fun writeMethod(containingClass: ClassItem, method: MethodItem) {
         val modifiers = method.modifiers
         val isEnum = containingClass.isEnum()
         val isAnnotation = containingClass.isAnnotationType()
@@ -341,10 +337,9 @@
 
         // Need to filter out abstract from the modifiers list and turn it
         // into a concrete method to make the stub compile
-        val removeAbstract =
-            modifiers.isAbstract() && (isEnum || isAnnotation) || movedFromInterface
+        val removeAbstract = modifiers.isAbstract() && (isEnum || isAnnotation)
 
-        appendModifiers(method, modifiers, removeAbstract, movedFromInterface)
+        appendModifiers(method, modifiers, removeAbstract, false)
         generateTypeParameterList(typeList = method.typeParameterList(), addSpace = true)
 
         val returnType = method.returnType()
@@ -459,7 +454,7 @@
             }
         if (throws.any()) {
             writer.print(" throws ")
-            throws.asSequence().sortedWith(ClassItem.fullNameComparator).forEachIndexed { i, type ->
+            throws.sortedWith(ClassItem.fullNameComparator).forEachIndexed { i, type ->
                 if (i > 0) {
                     writer.print(", ")
                 }
diff --git a/metalava/src/main/java/com/android/tools/metalava/stub/KotlinStubWriter.kt b/metalava/src/main/java/com/android/tools/metalava/stub/KotlinStubWriter.kt
index e0a6822..8afaec9 100644
--- a/metalava/src/main/java/com/android/tools/metalava/stub/KotlinStubWriter.kt
+++ b/metalava/src/main/java/com/android/tools/metalava/stub/KotlinStubWriter.kt
@@ -29,9 +29,8 @@
 import java.io.PrintWriter
 import java.util.function.Predicate
 
-class KotlinStubWriter(
+internal class KotlinStubWriter(
     private val writer: PrintWriter,
-    private val filterEmit: Predicate<Item>,
     private val filterReference: Predicate<Item>,
     private val generateAnnotations: Boolean = false,
     private val preFiltered: Boolean = true,
diff --git a/metalava/src/main/java/com/android/tools/metalava/stub/StubWriter.kt b/metalava/src/main/java/com/android/tools/metalava/stub/StubWriter.kt
index 89460ee..bf61188 100644
--- a/metalava/src/main/java/com/android/tools/metalava/stub/StubWriter.kt
+++ b/metalava/src/main/java/com/android/tools/metalava/stub/StubWriter.kt
@@ -143,7 +143,7 @@
                     list = pkg.modifiers,
                     separateLines = true,
                     // Some bug in UAST triggers duplicate nullability annotations
-                    // here; make sure the are filtered out
+                    // here; make sure they are filtered out
                     filterDuplicates = true,
                     target = annotationTarget,
                     writer = packageInfoWriter
@@ -233,7 +233,6 @@
                 if (options.kotlinStubs && cls.isKotlin()) {
                     KotlinStubWriter(
                         textWriter,
-                        filterEmit,
                         filterReference,
                         generateAnnotations,
                         preFiltered,