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,