如何在kotlin中通过编程方式通过编译类文件查找源文件路径?
在kotlin中,包可以随机声明,这与源文件路径无关,编译器将在包文件夹中生成类文件。如何通过编程方式通过编译类文件查找源文件路径 例如:如何在kotlin中通过编程方式通过编译类文件查找源文件路径?,kotlin,Kotlin,在kotlin中,包可以随机声明,这与源文件路径无关,编译器将在包文件夹中生成类文件。如何通过编程方式通过编译类文件查找源文件路径 例如: package kt.notsamepackage_another class NotSamePackageKotlin { fun call() { } } NotSamePackageKotlin.class将在以下文件夹中生成:../kt/notsamepackage\u其他文件夹,但源文件可能在../kt/notsamepack
package kt.notsamepackage_another
class NotSamePackageKotlin {
fun call() {
}
}
NotSamePackageKotlin.class将在以下文件夹中生成:../kt/notsamepackage\u其他文件夹,但源文件可能在../kt/notsamepackage中
我尝试了以下方法:
有没有更有效的方法?我认为这是不可能的。如果完整的源路径没有编译成字节码,那么就无法通过编程方式找到它。而且我不知道有任何编译器参数可以做到这一点(当然,简单文件名通常是在中编译的;这就是堆栈跟踪如何显示引发异常的文件名和行号,但不是完整路径。) 即使您的第三种方法通常也不起作用;程序通常不会在编译它们的同一台机器上运行,因此您的代码必须做出一些非常危险的假设 但我很好奇你为什么想知道这些。你想解决什么问题