如何在 Kotlin PSI 中获得 class 的完全限定域名?
How do a get a fully qualified domain name of class in Kotlin PSI?
我有一个 Kotlin 数据 class:
package a.b.c
data class Example(
…
)
我正在用detekt which provides access to the Kotlin PSI分析它。
我正在尝试获取我的 class:
的 FQDN
println(klass.nameAsName?.identifier)
其中,klass
具有来自 Kotlin PSI 的 KtClass
类型。但是该代码只打印了我的 class 的简称,例如 Example
,而我想得到 a.b.c.Example
.
如何在 Kotlin PSI 中获得 class 的完全限定域名?
KtClass
实现了提供 fqName
方法的 KtNamedDeclaration
接口。
FqName getFqName();
这会给你你想要的。所以:
klass.fqName.asString()
我有一个 Kotlin 数据 class:
package a.b.c
data class Example(
…
)
我正在用detekt which provides access to the Kotlin PSI分析它。
我正在尝试获取我的 class:
的 FQDNprintln(klass.nameAsName?.identifier)
其中,klass
具有来自 Kotlin PSI 的 KtClass
类型。但是该代码只打印了我的 class 的简称,例如 Example
,而我想得到 a.b.c.Example
.
如何在 Kotlin PSI 中获得 class 的完全限定域名?
KtClass
实现了提供 fqName
方法的 KtNamedDeclaration
接口。
FqName getFqName();
这会给你你想要的。所以:
klass.fqName.asString()