gpt4 book ai didi

kotlin - 当类不存在时,KotlinPoet如何使用FunSpec.overriding?

转载 作者:行者123 更新时间:2023-12-02 13:34:49 26 4
gpt4 key购买 nike

我有一个包名和一个类名String,但是我的注释处理器中没有专门的类。我需要使用:

FunSpec.overriding(getOnlyElement(methodsIn(//stuck here)))
stuck here应该是 setOf ExecutableElement吗?我怎样才能做到这一点?

我还检查了 here,但是没有那么多运气。

最佳答案

首先,您需要使用TypeElementpackage名称获取class(为此需要一个ProcessingEnvironment实例)。

fun getTypeElement(
processingEnvironment: ProcessingEnvironment,
packageName: String,
className: String
): TypeElement {
return processingEnvironment.elementUtils.getTypeElement("$packageName.$className")
}

然后,您可以简单地访问 enclosedElements中的 TypeElement:
val typeElement = getTypeElement(processingEnv, packageName, className)

FunSpec.overriding(getOnlyElement(methodsIn(typeElement.enclosedElements)))

关于kotlin - 当类不存在时,KotlinPoet如何使用FunSpec.overriding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58963911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com