在Kotlin诗体中加入星星投射

dhxwm5r4  于 2022-11-25  发布在  Kotlin
关注(0)|答案(1)|浏览(142)

我正在使用KotlinPoet生成一些代码。我一直在为一个参数化类型添加星星投影。在KOTLIN Poet文档中找不到任何添加星形投影的内容。
有没有办法在KotlinPoet中添加星星投影。

yhived7q

yhived7q1#

要获取TypeName作为星星投影,请用途:

ClassName("", "StarClass").parameterizedBy(STAR)

举个小例子:

val starClass = ClassName("", "StarClass").parameterizedBy(STAR)
val exampleFile = FileSpec.builder("", "StackOverflow")
   .addFunction(
      FunSpec.builder("starFunction")
         .addParameter("starClazz", starClass)
         .addStatement("println(starClazz.toString())", starClass)
         .build()
   )
   .build()
exampleFile.writeTo(System.out)

输出:

public fun starFunction(starClazz: StarClass<*>): Unit {
  println(starClazz.toString())
}

相关问题