a7bef2d0eef468581153ce10b33d9310126dbd9e
* Remove unneeded module context creation in K2Native Calling this method is useful only when its result is used * Use JvmAbi from compiler instead of reflection implementation Package "kotlin.reflect.jvm.internal.impl" is internal implementation detail of kotlin-reflect and should not be used * Run native back-end with "-ea" This allows to get more detailed messages in case something fails * Lower priority of compiler built-ins in resolution CREATE_BUILT_INS_FROM_MODULE_DEPENDENCIES makes sure that the "built-ins" that the compiler front-end uses during the resolution are loaded from the module being resolved itself, i.e. from its sources and/or dependencies. E.g. if there's a class named kotlin.Any in module sources, it'll become the default supertype for any class without an explicit supertype. ADD_BUILT_INS_FROM_COMPILER_TO_DEPENDENCIES adds the built-ins from the compiler jar to the end of the dependencies list of the module being resolved. This option makes sure that if there's no built-in class in module sources/dependencies and it is required by the front-end, the class definition from the compiler jar will be taken instead of failing with an exception. If both of these options are turned on, the effect is basically that compiler built-ins are still there in the classpath, but have a lower priority than classes explicitly declared in sources
Kotlin-native backend
Build
Download dependencies:
gradle :dependencies:update
To run native translator just use:
gradle :backend.native:run
And it will run simple example (currently prints out IR of test file). For more tests, use:
gradle :backend.native:tests:run
Description
Languages
Kotlin
79.9%
Java
10.4%
Swift
4.3%
C
2.8%
C++
2.1%
Other
0.3%