Tag: kotlinc

是否有限制stdlib函数在Kotlin中的可见性?

Kotlin带有许多标准的库函数,其中很多默认情况下是可见的,而实际上并没有导入它们。 所以像listOf , arrayListOf , ArrayList()等函数事实上被插入到全局名称空间中。 有一个编译器标志,将禁用此行为?

我可以从命令行或从Ant调用Kotlin noargs插件吗?

Kotlin有一个noarg编译器插件 ,可以用来为特殊注释类生成合成的无参数构造函数。 文档页面清楚地解释了如何在Maven和Gradle中使用它,但是不清楚它是否可以使用,或者如何使用它,无论是从Ant还是在命令行中使用kotlinc 。 到目前为止,我一直无法做到这一点。 这是我的NoArgs.kt源文件: package test annotation class NoArgs @NoArgs data class Test(val x: String, val y: String) 以下是我尝试过的一些命令行,根本没有任何作用: $ kotlinc -verbose “-Xplugin:$KOTLIN_HOME/lib/noarg-compiler-plugin.jar -P plugin:org.jetbrains.kotlin.noarg:annotation=test.NoArgs NoArgs.kt 和: $ kotlinc -verbose “-Xplugin=$KOTLIN_HOME/lib/kotlin-annotation-processing.jar;$KOTLIN_HOME/lib/noarg-compiler-plugin.jar;$JRE_HOME/lib/tools.jar” -P plugin:org.jetbrains.kotlin.noarg:annotation=test.NoArgs NoArgs.kt 当我运行$ javap test.Test ,没有生成无参数构造函数的证据。 还有一些证据表明,插件并没有运行,事实上,如果我把垃圾,而不是-P选项的单词注释 ,没有错误信息或行为改变。 如果你能告诉我如何使用kotlinc或Ant来运行它,我真的很感激它!

Gradle没有更多的细节’:compileKotlin’

我是gradle和kotlin的新手 当我建立语法错误文件使用gradle build它只是显示 Execution failed for task ‘:compileKotlin’. > Compilation error. See log for more details 我如何得到像使用kotlinc哪一行的语法错误? PS:使用vscode,所以我需要它 编辑 对不起,我错过了错误信息,因为gradle和kotlinc不同 gradle这个: PS C:\PlayGround2> gradle build e: C:\PlayGround2\src\main\kotlin\Main.kt: (26, 1): Expecting a top level declaration > Task :compileKotlin Using kotlin incremental compilation … kotlinc: PS C:\PlayGround2\src\main\kotlin> kotlinc .\Main.kt Main.kt:26:1: error: expecting a top level declaration } […]

在kotlinc终端中导入依赖库

我在mac终端上玩kotlinc,但是我想用kotlinc里的rest客户端。 有没有办法包括? 像在Python中导入

如何从命令行(使用kotlinc)使用kapt?

官方文档指导如何从Gradle和Maven使用kapt 。 但是我怎样才能用kapt从命令行使用kotlinc ?

在由kotlinc输出的jar中包含反射库

我试图让包含在示例jar中的反射库,但不能得到它的工作: $ kotlinc hello.kt -d hello.jar $ java -jar hello.jar Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics 运行时库丢失,所以让我们添加它: $ kotlinc hello.kt -include-runtime -d hello.jar $ java -jar hello.jar Exception in thread "main" kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime. Make sure you have kotlin-reflect.jar in the classpath 现在包含了运行时库,但反射库缺失,所以我们指定kotlin主目录: $ kotlinc hello.kt -include-runtime -kotlin-home ~/.sdkman/candidates/kotlin/1.1.1 […]

我可以从命令行或从Ant调用Kotlin noargs插件吗?

Kotlin有一个noarg编译器插件 ,可以用来为特殊注释类生成合成的无参数构造函数。 文档页面清楚地解释了如何在Maven和Gradle中使用它,但是不清楚它是否可以使用,或者如何使用它,无论是从Ant还是在命令行使用kotlinc 。 到目前为止,我一直无法做到这一点。 这是我的NoArgs.kt源文件: package test annotation class NoArgs @NoArgs data class Test(val x: String, val y: String) 以下是我尝试过的一些命令行,根本没有任何作用: $ kotlinc -verbose "-Xplugin:$KOTLIN_HOME/lib/noarg-compiler-plugin.jar -P plugin:org.jetbrains.kotlin.noarg:annotation=test.NoArgs NoArgs.kt 和: $ kotlinc -verbose "-Xplugin=$KOTLIN_HOME/lib/kotlin-annotation-processing.jar;$KOTLIN_HOME/lib/noarg-compiler-plugin.jar;$JRE_HOME/lib/tools.jar" -P plugin:org.jetbrains.kotlin.noarg:annotation=test.NoArgs NoArgs.kt 当我运行$ javap test.Test ,没有生成无参数构造函数的证据。 还有一些证据表明,插件并没有运行,事实上,如果我把垃圾,而不是-P选项的单词注释 ,没有错误信息或行为改变。 如果你能告诉我如何使用kotlinc或Ant来运行它,我真的很感激它!

如何在内存中运行编译kotlin文件的测试并检查结果?

到目前为止,我有 import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler MyProjectCompiler.initialize("SampleKtFileOutput") .packageName("com.test.sample") .compile(File(someFile.path)) .result { ktSource: String -> K2JVMCompiler() .exec(System.out, /** arguments here?*/) } 这个手动启动编译器,但我想从第一个编译器(生成kotlin源的MyProjectCompiler生成的字符串在内存中,并检查结果而不写入文件。 如果可能的话,我想包括当前类路径中的所有内容。

是否有限制stdlib函数在Kotlin中的可见性?

Kotlin带有许多标准的库函数,其中很多默认情况下是可见的,而实际上并没有导入它们。 所以像listOf , arrayListOf , ArrayList<T>()等函数事实上被插入到全局名称空间中。 有一个编译器标志,将禁用此行为?