最近在学习ksp,发现创建文件,用到了很多KotlinPoet中的方法,但是网上相关api解释比较少,现在就看下官方文档做个笔记总结。 官方文档链接:square.github.io/kotlinpoet/
ps:javapoet的官方文档:github.com/square/java…
主要使用build模式去创建想要的文件。
FileSpec:创建kotlin类型的文件
TypeSpec:创建类、接口、对象
TypeAliasSpec:创建类型别名???没太搞懂
PropertySpec:创建属性
FunSpec:创建方法或者构造函数
ParameterSpec:创建参数
但是构造函数以及方法里面的主体用以上的几种方式进行创建就很麻烦
FileSpec中处理语句的方法有:
addStatement:增加表达语句
beginControlFlow:大括号语句的开始,比如for循环
endControlFlow:大括号结尾,无表达式
returns:返回值
TypeSpec中处理语句有:
addFunction:增加方法
%S:代表string类型的,与android中的string类似(但无法识别转义字符$,转义字符使用%P)
%T: 自动生成import引用,比如Data::class
ClassName:可以声明引用的具体路径
PropertySpec.copy(nullable = true)) .mutable():可空
%M: 占位符,可以代替方法
%L:占位符(前面可以加%1L,%2L等)
Constructors
FunSpec.constructorBuilder():正常构造函数
TypeSpec.classBuilder("HelloWorld") .primaryConstructor():类后的构造函数
Parameters
defaultValue:默认值
-------------------------------未完待续-----------------------------------