我正在使用KotlinPoet和Auto Service自动生成代码。我没有找到任何方法来知道带注释的类是否具有“内部”修饰符,因此我可以使用相同的修饰符创建另一个类。例如:
@MyAnnotation
internal class Car
所以我想使用静态编程语言反射我将能够得到这些信息,但没有运气。
关于如何做到这一点的任何线索?
由于内部
是可见性修饰符,因此您应该在KClass
API中查找相关内容。以下内容将对您有所帮助:
/**
* Visibility of this class, or `null` if its visibility cannot be represented in Kotlin.
*/
@SinceKotlin("1.1")
public val visibility: KVisibility?
像这样使用: Car::class.visibility //INTERNAL
静态编程语言的KClass
具有可见性
属性,可以是KVisibility.INTERNAL
。
Kotlin反射在注释处理期间不适用。Kotlin反射用于在运行时检查代码。然而,有一种方法可以解析Kotlin类文件中的元数据,它被称为kotlinx-metadata-jvm。
要在注释处理器中使用它,您必须获取kotlin.Metadata
注释的AnnotationMirror
。从该镜像中获取注释值并使用它们来构造KotlinClassHeader
,正如您在kotlinx-元数据-jvm的示例中看到的那样。到达那里后,您可以使用kotlinx-元数据-jvm来提取类的标志。
我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?
我正在尝试使用柯特林 V1.2.70、Gradle V4.10.1 和 Java 11。使用 gradle 编译项目时,出现错误,指出“未知的 JVM 目标版本:11。支持的版本:1.6,1.8“。 Kotlin 编译器是否支持 Java 11(生成与 Java 11 JVM 兼容的代码)?如果是这样,如何使用渐变配置?
如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。
我在我的一个项目中使用RxJava,我使用Android Studio插件将我的一个类转换为静态编程语言,并在maplambda(java中的Func1)之一中,中间体返回如下所示。 我不知道这意味着什么。
上周我更新了Kotlin 1.5,昨天看到谷歌打算让Jetpack成为设计UI的首选选项后,我想做一些测试。 问题是将我的项目更新为静态编程语言1.5,当尝试构建项目时,我得到以下错误: 静态编程语言1.5与Jetpack Compose不兼容吗?在谷歌搜索问题后,我找到了版本,其中提到了Jetpack Compose,但不是以“不兼容”的方式。 你对此有任何答案吗?我应该使用吗?在这种情况下,我
我喜欢这种Swift语法;它对很多事情都很有帮助: 我很想在科特林做这件事。但是,我找不到合适的语法! 科特林有这样的事吗?