创建一个 KSP 处理器,用于处理@Parcelize注解并生成Parcelable实现: importcom.google.devtools.ksp.processing.*importcom.google.devtools.ksp.symbol.*classParcelizeProcessor(privatevalcodeGenerator:CodeGenerator,privatevallogger:KSPLogger):SymbolProcessor{overridefunprocess(resolver:Resolver):List<KSAnnotated>{// ...
简介:Kotlin Symbol Processing (KSP) Alpha版现已发布,为Kotlin开发者提供了一个全新的工具,旨在提高编译速度。KSP提供了类似KAPT的功能,但速度提高了2倍,并且可以直接访问Kotlin编译器功能。它还充分考虑了多平台兼容性,兼容Kotlin 1.4.30及更高版本。对于需要快速迭代和部署应用的开发者来说,KSP将大大减少等待时间。
TheRouter 从1.1.4-rc2版本起,引入了 Kotlin Symbol Processing(KSP)作为注解处理的主力工具。KSP是一种基于Kotlin的编译期插件API,采用基于语法分析的方式,提高了编译速度,使得开发者能够更加高效地进行Android项目开发。以下是TheRouter的KSP使用方法: 1. 引入KSP插件 在项目的build.gradle文件中加入以下依赖,删除之前...
实现了process后还需要把process注册一下,否则ksp plugin无法找到这个processor。在processor module与代码同级文件夹下新建文件『resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider』,然后把刚才实现的provider的完整类名,写在文件里,如果是使用IDE一般都会有提示的。 // myprocessor/...
Kotlin Symbol Processing (KSP) is an API that you can use to develop lightweight compiler plugins. KSP provides a simplified compiler plugin API that leverages the power of Kotlin while keeping the learning curve at a minimum. Compared to KAPT, annotation processors that use KSP can run up to...
1. 解析ksp(Kotlin Symbol Processing)注解 首先,你需要定义你的注解。这里我们假设已经有一个注解定义好了,比如@MyAnnotation。 2. 遍历项目中的Kotlin文件 在KSP中,你不需要直接遍历Kotlin文件,因为KSP会为你处理AST的遍历。你需要关注的是如何访问和处理这些AST节点。 3. 查找包含特定注解的方法 你可以通过实现一...
Kotlin符号处理(Kotlin Symbol Processing)即KSP是可以用于开发轻量级编译器插件的一套API。是Kotlin原生的,Kotlin语法友好的编译器插件。使用简单且易于上手,可以实现一些非常强大的编译时代码处理功能,如代码生成和代码检查。今天就来学习一下KSP的基本原理,以及如何使用KSP API。
Kotlin符号处理(Kotlin Symbol Processing)即KSP是可以用于开发轻量级编译器插件的一套API。是Kotlin原生的,Kotlin语法友好的编译器插件。使用简单且易于上手,可以实现一些非常强大的编译时代码处理功能,如代码生成和代码检查。今天就来学习一下KSP的基本原理,以及如何使用KSP API。
ServiceLoaderLite.loadImplementations(SymbolProcessorProvider::class.java, classLoader).filter { (options.processors.isEmpty() && it.javaClass.name !in options.excludedProcessors) || it.javaClass.name in options.processors } } In the above code for KotlinSymbolProcessingExtension, a URLClass...
Kotlin Symbol Processing is an API to build lightweight compiler plugins. KSP provides a simplified compiler plugin API that leverages the power of Kotlin while keeping the learning curve to a minimum. And it is now Stable!