From a858a71666550c216c54c3f9f0f3c06072539f80 Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Mon, 15 Jul 2024 22:51:20 +0100 Subject: Use CallableItem in place of MethodItem The `MethodItem` type represents both a normal method as well as being the super type of `ConstructorItem`. That organization causes a number of issues in Metalava and has lead to quite a few issues where code that only expected to be run on methods and not constructors was run on both. So, a new type `CallableItem` has been added that will eventually become the super type of both `MethodItem` and `ConstructorItem` and `ConstructorItem` will no longer extend `MethodItem`. This change prepares this code for that change. Bug: 352481366 Test: ./gradlew Change-Id: I9f2f60ce60337db55246a43e23285921a895519b --- api/coverage/tools/ExtractFlaggedApis.kt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'api/coverage/tools') diff --git a/api/coverage/tools/ExtractFlaggedApis.kt b/api/coverage/tools/ExtractFlaggedApis.kt index bf67187f4bad..0a3ae4f790b0 100644 --- a/api/coverage/tools/ExtractFlaggedApis.kt +++ b/api/coverage/tools/ExtractFlaggedApis.kt @@ -16,9 +16,9 @@ package android.platform.coverage +import com.android.tools.metalava.model.CallableItem import com.android.tools.metalava.model.ClassItem import com.android.tools.metalava.model.Item -import com.android.tools.metalava.model.MethodItem import com.android.tools.metalava.model.text.ApiFile import java.io.File import java.io.FileWriter @@ -40,24 +40,24 @@ fun main(args: Array) { fun extractFlaggedApisFromClass( classItem: ClassItem, - methods: List, + callables: List, packageName: String, builder: FlagApiMap.Builder ) { - if (methods.isEmpty()) return + if (callables.isEmpty()) return val classFlag = getClassFlag(classItem) - for (method in methods) { - val methodFlag = getFlagAnnotation(method) ?: classFlag + for (callable in callables) { + val callableFlag = getFlagAnnotation(callable) ?: classFlag val api = JavaMethod.newBuilder() .setPackageName(packageName) .setClassName(classItem.fullName()) - .setMethodName(method.name()) - for (param in method.parameters()) { + .setMethodName(callable.name()) + for (param in callable.parameters()) { api.addParameters(param.type().toTypeString()) } - if (methodFlag != null) { - addFlaggedApi(builder, api, methodFlag) + if (callableFlag != null) { + addFlaggedApi(builder, api, callableFlag) } } } -- cgit v1.2.3-59-g8ed1b