SuperAPI AI 工具集

analysis-api-mark-internal-apis

编程与开发

查看项目

更新于 10-15 23:31

技能介绍

用途:整理 Kotlin Analysis API 实现模块中的公开声明可见性。这些模块的公开声明不应暴露给用户,应改为 internal 或加可见性注解。AbstractAnalysisApiInternalApiTest 会找出未标记声明并给出默认注解,本技能在此基础上按实际调用位置细化。

主要能力:支持 analysis-api-fir、analysis-api-impl-base、analysis-api-standalone-fir、low-level-api-fir 四个模块(各有对应 :analysis:...:testCodebase 任务)。运行测试写入模式后,对每个新标注声明判断:除自身 src/ 外无引用则降级为 internal;@LLFirInternals 仅被 analysis/low-level-api-fir/ 内引用则保留,被外部引用则升级为 @KaImplementationDetail;@KaImplementationDetail 有外部引用则保留。还处理伴生对象与嵌套分类器的注解同步,最后编译模块并汇报。

使用方式:选择模块后运行 ./gradlew <gradle-task> -Pkotlin.analysis.codebaseTest.internalApi.updateSourceCode=true -Pkotlin.test.instrumentation.disable.inputs.check=true,用 git diff 找出被改文件,逐个声明搜索用途(可加 --intellij=<path> 搜索 IntelliJ 仓库),再编辑并循环,直到测试通过,最后运行 ./gradlew :analysis:<module>:compileKotlin -q。

限制:不处理测试未触及的声明;不自动修复编译错误,需人工审查;测试每次只标注一个文件;依赖 JetBrains MCP 工具进行搜索与编辑。