Files
kotlin-fork/libraries/tools/kotlin-stdlib-gen
Dmitry Petrov 75ad20f823 Build compiler, plugin & stdlib with constructor call normalization
Required as a workaround for Proguard bug
https://sourceforge.net/p/proguard/bugs/664/

When processing bytecode generated by Kotlin compiler for constructor
call with stack spilling during arguments evaluation, ProGuard performs
an equivalent transformation for the bytecode, but emits invalid stack
frame information.
In JVM 1.6, such invalid stack frames are ignored and re-evaluated by
JVM during bytecode verification.
In JVM 1.8, such invalid stack frames cause VerifyError.
2017-10-12 10:59:57 +03:00
..

Code Generation for Standard Library

Some of the code in the standard library is created by code generation based on templates. For example, many Array methods need to be implemented separately for Array<T>, ByteArray, ShortArray, IntArray, etc.

To run the code generator from the libraries directory of a kotlin checkout, use the following command:

./gradlew :tools:kotlin-stdlib-gen:run

Note: on Windows type gradlew without the leading ./

This then runs the script which generates a significant part of stdlib sources from the templates authored with a special kotlin based DSL.