*63e5d4fe95- Tests: rewrite some AbstractScriptConfigurationTest to the new script infrastructure (2 hours ago) <Natalia Selezneva> *eca7bbdb8c- Scripts: Check if file is in all script dependencies class files scope instead of searching for module info (2 hours ago) <Natalia Selezneva> *245b2aecb3- "Replace guard clause with kotlin's function call" inspection : decrease severity to INFORMATION (3 hours ago) <Toshiaki Kameyama> *573e7f2eee- Run JDK11 tests for KAPT only if JDK11 is available (3 hours ago) <Ivan Gavrilovic> *6e7f046471- Fix gradle integeration tests (3 hours ago) <Ivan Gavrilovic> *92dcb54207- (tag: build-1.3.60-dev-2377, origin/kishmakov/gd/protocol-extension) "Redundant overriding method" inspection: do not report when overriding package private method (6 hours ago) <Toshiaki Kameyama> *25799447a6- (tag: build-1.3.60-dev-2370) Minor, use slightly less internal argument to enable inline classes (2 days ago) <Alexander Udalov> *e4609a9968- (tag: build-1.3.60-dev-2368) JVM IR: Cache inline class replacements at the module level (3 days ago) <Steven Schäfer> *f40f9611c3- (tag: build-1.3.60-dev-2362) JVM IR: Fix spread operator on unsigned array type (3 days ago) <Steven Schäfer> *1a50a3cbb1- (tag: build-1.3.60-dev-2358) [NI] Avoid computing few things for simple calls without type variables (3 days ago) <Mikhail Zarechenskiy> *7bd65c0bcd- [NI] Avoid collecting possible types for call expressions (3 days ago) <Mikhail Zarechenskiy> *a83225218f- [NI] Fix checks for infix/operator conventions (3 days ago) <Mikhail Zarechenskiy> *f45a49b122- (tag: build-1.3.60-dev-2355) Remove uncapturing in type mismatch diagnostics (3 days ago) <Pavel Kirpichenkov> *5c904250be- (tag: build-1.3.60-dev-2348) Gradle, native: Update a K/N version in tests (3 days ago) <Ilya Matveev> *31aa4e4738- (tag: build-1.3.60-dev-2346) Rename kotlin-test-nodejs-runner to kotlin-test-js-runner (3 days ago) <Ilya Goncharov> *10c36ae5c5- Change naming from commin cli.ts to concrete platform nodejs.ts (3 days ago) <Ilya Goncharov> *c2b5df83f6- Add filtering feature to karma testing (3 days ago) <Ilya Goncharov> *09a602d8ad- Move common logic of js test running on upper level (js) (3 days ago) <Ilya Goncharov> *e750bd302d- Add karma input for kotlin-test-nodejs-runner (3 days ago) <Ilya Goncharov> *e242856124- Enable cli description to have free args title (3 days ago) <Ilya Goncharov> *80ea91f574- Extract Adapter getting to common place (3 days ago) <Ilya Goncharov> *b44249255c- Extract default cli parser to common place (3 days ago) <Ilya Goncharov> *f0af4756a9- Fix accuracy for regex filtering for nodejs testing (3 days ago) <Ilya Goncharov> *e2aecee925- Fix exact test filtering for nodejs (3 days ago) <Ilya Goncharov> *a62863128c- (tag: build-1.3.60-dev-2344) Fix exception from ProjectResolutionFacade when switching some definition off in settings (3 days ago) <Natalia Selezneva> *3ad7f516be- Add caret to test to check exception in ProjectResolutionFacade that can happen during resolving of symbol from script dependencies (3 days ago) <Natalia Selezneva> *5872a47c0e- Scripts: rehighlighting should be called for opened scripts after changing script definitions (3 days ago) <Natalia Selezneva> *3ac099fc9a- Fix freeze during script definitions update (KT-32513) (3 days ago) <Natalia Selezneva> *1b64583855- (tag: build-1.3.60-dev-2342) Gradle, native: Embed bitcode for watchOS and tvOS (3 days ago) <Ilya Matveev> *2819ab4ae9- (tag: build-1.3.60-dev-2341) Avoid division in string-to-unsigned conversions (KT-26309) (4 days ago) <Abduqodiri Qurbonzoda> *d66f07a84e- (tag: build-1.3.60-dev-2340) CollectionsKt.windowed throws IllegalArgumentException (4 days ago) <Abduqodiri Qurbonzoda> *a7b984bcbf- (tag: build-1.3.60-dev-2339) JVM IR: fix generation of generic multi-file delegates (4 days ago) <Alexander Udalov> *acbe5c4e21- JVM IR: fix IOOBE from remapTypeParameters for synthetic property annotations method (4 days ago) <Alexander Udalov> *c972bf5882- (tag: build-1.3.60-dev-2336) Add [JPS] IDEA (No ProcessCanceledException) configuration (4 days ago) <Igor Yakovlev> *f1d31c8221- (tag: build-1.3.60-dev-2331) JVM_IR: Minor. Unmute tests (4 days ago) <Ilmir Usmanov> *06d0e8a521- JVM_IR: Support suspend functions with extension receivers (4 days ago) <Ilmir Usmanov> *2bfd17d8fb- JVM_IR: Minor. Unmute test. (4 days ago) <Ilmir Usmanov> *63f6d515bc- JVM_IR: Generate correct invoke of numbered suspend lambda (4 days ago) <Ilmir Usmanov> *587fcafc85- JVM_IR: Support continuation crossing inline lambda boundaries (4 days ago) <Ilmir Usmanov> *0cdfe89a26- (tag: build-1.3.60-dev-2326) KT-33052: Fix KAPT stub generation for enums on JDK11 (4 days ago) <Ivan Gavrilovic> *58efa34a33- KT-31291: KAPT - make sure ASM version is not inlined (4 days ago) <Ivan Gavrilovic> *60fa632d02- KT-33515: Remove Kotlin sources generated by KAPT (4 days ago) <Ivan Gavrilovic> *434fb75eb7- Incremental KAPT: when unable to process incremental changes, run non-incrementally (4 days ago) <Ivan Gavrilovic> *b59fba6707- (tag: build-1.3.60-dev-2322) Fix mocha run (4 days ago) <Ilya Goncharov> *9d01c87c51- (tag: build-1.3.60-dev-2311) KotlinElementActionsFactory: cleanup JvmElementActionsFactory API (KT-33779) (4 days ago) <Nicolay Mitropolsky> *3bcbcbfd47- (tag: build-1.3.60-dev-2303, tag: build-1.3.60-dev-2302) Fix read action in 'processLightClassLocalImplementations' (EA-210464) (5 days ago) <Vladimir Dolzhenko> *81c9edfff4- Get rid of implicit resolve within statsInfo for KotlinAddImportAction (EA-210670) (5 days ago) <Vladimir Dolzhenko> *3a1d649b30- (tag: build-1.3.60-dev-2300) Don't trigger refresh of vfs in 'getOutsiderFileOrigin' (EA-209420) (5 days ago) <Vladimir Dolzhenko> *507857d452- (tag: build-1.3.60-dev-2298) [IR] Support Collection<*>.indices in for loop lowering. (5 days ago) <Mads Ager> *76ab631214- (tag: build-1.3.60-dev-2297) psi2ir: Optimize generated data class members (5 days ago) <Steven Schäfer> *7ccf314808- Minor: Remove dead conditional in psi2ir (5 days ago) <Steven Schäfer> *ce3ef4e4d0- (tag: build-1.3.60-dev-2295) Add more tests for inline class equality with nullable arguments (5 days ago) <Steven Schäfer> *1833a69c87- JVM: Optimize inline class equality with nullable arguments (5 days ago) <Steven Schäfer> *eda4953cb3- JVM IR: Optimize inline class equality with nullable arguments (5 days ago) <Steven Schäfer> *d8646e29b7- Add additional Result api test (5 days ago) <Steven Schäfer> *49efa5fbc4- Split up Result API boxing tests (5 days ago) <Steven Schäfer> *2e53e36fd5- JVM: Do not use equals-impl0 methods generated by older compiler versions (5 days ago) <Steven Schäfer> *b85b2d9af8- Add more tests for inline class equality (5 days ago) <Steven Schäfer> *cdc5e1347b- JVM: Avoid boxing in inline class equality (5 days ago) <Steven Schäfer> *f53b28e8a3- JVM: Generate equals-impl0 method for inline classes (5 days ago) <Steven Schäfer> *2c7da67600- JVM IR: Avoid boxing in inline class equality (5 days ago) <Steven Schäfer> *b85a475358- JVM IR: Generate equals-impl0 method for inline classes (5 days ago) <Steven Schäfer> *e4456127e4- JVM IR: Don't use JS IR specific inlineClasses.kt (5 days ago) <Steven Schäfer> *475079611d- JVM IR: Avoid parameter null-checks in inline class impl methods (5 days ago) <Steven Schäfer> *cdd3f82396- JVM IR: Use correct scope owner in JvmInlineClassLowering (5 days ago) <Steven Schäfer> *2afbeaa353- (tag: build-1.3.60-dev-2293) Drop resolve on 'collectTransferableData' and reworked MoveDeclarations QuickFix (EA-210670) (5 days ago) <Vladimir Dolzhenko> *6ef434a711- (tag: build-1.3.60-dev-2292) JVM IR: add -Xir-check-local-names to check names for consistency (5 days ago) <Alexander Udalov> *530c1411c3- Remove IR backend-specific code from KotlinTypeMapper (5 days ago) <Alexander Udalov> *3d79e77df3- (tag: build-1.3.60-dev-2291) Add async profiler to perfTests (5 days ago) <Vladimir Dolzhenko> *0f4176a88e- (tag: build-1.3.60-dev-2285) [Pill] Fix pill after refactoring reflect (5 days ago) <Ilya Chernikov> *aa77f6c245- (tag: build-1.3.60-dev-2283) Improve KParameter.toString for instance and extension receiver parameter (5 days ago) <Alexander Udalov> *59186b2617- Psi2ir: ignore unresolved class literals in annotations (5 days ago) <Alexander Udalov> *c69997491f- JVM IR: generate file annotations on file facade classes (5 days ago) <Alexander Udalov> *565099d941- (tag: build-1.3.60-dev-2280) fix new test name (5 days ago) <Kevin Bierhoff> *bc207ed8db- fix for KT-29471 (5 days ago) <Kevin Bierhoff> *220a8f2872- (tag: build-1.3.60-dev-2277) Clear internal caches in PerModulePackageCacheService on dispose (KT-33802) (5 days ago) <Nikolay Krasko> *4387862d20- Remap android home directory to allow parallel test execution (KT-33870) (5 days ago) <Nikolay Krasko> *dfde3b4076- (tag: build-1.3.60-dev-2274) Rename collector of debugger events (5 days ago) <Anton Yalyshev> *61eb9faecd- Move status of evaluation from eventId to context for better data analytics (5 days ago) <Anton Yalyshev> *2bdbed978b- (tag: build-1.3.60-dev-2272) FIR: Support SAM constructors (5 days ago) <Denis Zharkov> *b3e96a1fcf- FIR: Merge FirTopLevelDeclaredMemberScope into FirSelfImportingScope (5 days ago) <Denis Zharkov> *391346ae46- FIR: Pass BodyResolveComponents to ScopeTowerLevel (5 days ago) <Denis Zharkov> *fb4b6b8290- FIR: Move constructor processing from scopes to tower resolvers (5 days ago) <Denis Zharkov> *08a8a9fa61- FIR: Move SamResolver to BodyResolveComponents (5 days ago) <Denis Zharkov> *5ebde93eb9- FIR: Provide BodyResolveComponents instead of InferenceComponents to resolution (5 days ago) <Denis Zharkov> *5567620563- FIR: Support SAM conversion (5 days ago) <Denis Zharkov> *f501730d86- Minor. Reformat Arguments.kt in fir (5 days ago) <Denis Zharkov> *9d517d914b- Minor. Get rid of redundant elvis operand in AbstractConeSubstitutor::substituteOrNull (5 days ago) <Denis Zharkov> *6e51bed30c- FIR: Support lambda inference from platform types (5 days ago) <Denis Zharkov> *d787df3880- Minor. Reformat ConeKotlinType::isBuiltinFunctionalType (5 days ago) <Denis Zharkov> *0431c21f9a- (tag: build-1.3.60-dev-2265) [NI] Remove unneeded computation of possible types for return type (6 days ago) <Mikhail Zarechenskiy> *d47fc85868- [NI] Minor, small improvements around KotlinCall creation (6 days ago) <Mikhail Zarechenskiy> *971b02494c- [NI] Minor, simplify code a bit for sub calls preparation (6 days ago) <Mikhail Zarechenskiy> *7e8784dca1- [NI] Simplify code that capture types from expression (6 days ago) <Mikhail Zarechenskiy> *6327f657a5- (tag: build-1.3.60-dev-2260) 193: Add bunches for 193 platform (6 days ago) <Vyacheslav Gerasimov> *381f6d8226- 193: Inline removed parents method in UastLightIdentifier (6 days ago) <Vyacheslav Gerasimov> *7fe25e922c- 193: Fix nullability in KotlinImportOptimizer (6 days ago) <Vyacheslav Gerasimov> *c220ad4b00- Build: Add dsl constants for 193 platform (6 days ago) <Vyacheslav Gerasimov> *df570ec2a2- (tag: build-1.3.60-dev-2257) Add CompilerOutputKind.DYNAMIC_CACHE and .STATIC_CACHE for Native BE (6 days ago) <Svyatoslav Scherbina> *0e3f0c98e5- (tag: build-1.3.60-dev-2256) JVM_IR: Support inline suspend lambdas (6 days ago) <Ilmir Usmanov> *61ae98df40- (tag: build-1.3.60-dev-2250) [FIR] Add default visitors and transformers with useful part of visited hierarchy (6 days ago) <Dmitriy Novozhilov> *e70c1d6959- [FIR] Remove default visited hierarchy (6 days ago) <Dmitriy Novozhilov> *9b32bd7138- (tag: build-1.3.60-dev-2247) Do special insert even for custom trimIndent() function to avoid using resolve (KT-31810) (6 days ago) <Nikolay Krasko> *147f805c56- Paste inside indented `.trimIndent()` raw string: respect indentation (KT-31810) (6 days ago) <Toshiaki Kameyama> *d3b826c71d- (tag: build-1.3.60-dev-2246) Improve class name generation for scripts and REPL snippets (6 days ago) <Ilya Chernikov> *6de05bb2c7- Drop hardcoded extraction of the snippet id from script name (6 days ago) <Ilya Chernikov> *dd953e0f66- Deduplicating classloaders and classpath entries on constructing script classloader (6 days ago) <Ilya Chernikov> *df3fbaf417- (tag: build-1.3.60-dev-2242) Add various configuration parameters to Non Fir modularized tests (6 days ago) <Simon Ogorodnik> *f3a0632b9a- [FIR] Fix dump html for each pass (6 days ago) <Simon Ogorodnik> *0531bd4fe6- (tag: build-1.3.60-dev-2240) KT-29229 Intrinsify 'in' operator for unsigned integer ranges (6 days ago) <Dmitry Petrov> *5426071102- (tag: build-1.3.60-dev-2236) Add dependency classloader to the evaluation classloader: (6 days ago) <Ilya Chernikov> *61d517fb31- Implement script dependencies resolution directly from classloader (6 days ago) <Ilya Chernikov> *f8db150a2b- [minor] Drop some usages of kotlin reflection in scripting compiler plugin (6 days ago) <Ilya Chernikov> *689a5cbdf5- Add descriptors.runtime to the compiler... (6 days ago) <Ilya Chernikov> *8dce22c335- (tag: build-1.3.60-dev-2232) New J2K: use proper resolution facade when getting class reference in inference post-processing (6 days ago) <Ilya Kirillov> *cfd476ca7e- New J2K: correctly convert main method with varargs argument (6 days ago) <Ilya Kirillov> *5d6cf34045- New J2K: consider that type argument may be null in inference post-processing (6 days ago) <Ilya Kirillov> *934d491c1c- New J2K: use `Any?` instead of star projection for raw supertypes (6 days ago) <Ilya Kirillov> *c6e0356a59- Do not search for getter usages for every "may be const" quickfix invocation (6 days ago) <Ilya Kirillov> *1b3c5f5d37- New J2K: use proper progress indicator for showing progress (6 days ago) <Ilya Kirillov> *2916be6a53- Remove duplicating interface in J2K (6 days ago) <Ilya Kirillov> *1cf348baba- Do not commit document on non-kotlin files when trying to perform j2k conversion (6 days ago) <Ilya Kirillov> *13b16cfe75- (tag: build-1.3.60-dev-2229) Refactoring: get rid of firSafeNullable, enhance getSymbolByLookupTag (6 days ago) <Mikhail Glukhikh> *0493432723- Remove some usages of FirBasedSymbol (6 days ago) <Mikhail Glukhikh> *a1f4a4572a- (tag: build-1.3.60-dev-2224) Check cancelation in KotlinJavaPsiFacade.findPackage() (7 days ago) <Matthew Gharrity> *0a1b3a8455- (tag: build-1.3.60-dev-2217, origin/rr/kirpichenkov/kt7354) Clearify diagnostic messages that involve internal visibilities (7 days ago) <Pavel Kirpichenkov> *fc4865a440- (tag: build-1.3.60-dev-2214) Don't extend to comments when a comment is being moved (KT-23461) (7 days ago) <Nikolay Krasko> *11de99f9d7- Minor refactoring for KotlinExpressionMover (KT-23461) (7 days ago) <Nikolay Krasko> *ed28a06285- Move statement: move expression over comments (KT-23461) (7 days ago) <Toshiaki Kameyama> *20c45a8382- (tag: build-1.3.60-dev-2213) FIR general refactoring: get rid of ConeSymbols (7 days ago) <Mikhail Glukhikh> *c1c46daa01- (tag: build-1.3.60-dev-2211) Use en_US.UTF-8 locale instead of default locale to work around errors (7 days ago) <Ilmir Usmanov> *1951ff8054- JVM_IR: Minor. Unmute tests (7 days ago) <Ilmir Usmanov> *a3284326af- JVM_IR: Do not box/unbox result in continuations (7 days ago) <Ilmir Usmanov> *402a77126f- JVM_IR: Support inline suspend functions (7 days ago) <Ilmir Usmanov> *2ec3417e0e- JVM_IR: Move suspend functions into view transformation to codegen phase (7 days ago) <Ilmir Usmanov> *6b36833ee2- (tag: build-1.3.60-dev-2210) Highlight usages: highlight declaration/usage on call of function with lambda argument (KT-30824) (7 days ago) <Toshiaki Kameyama> *26bef2d109- Fix muted usage highlighter test by ignoring irrelevant highlighting (7 days ago) <Nikolay Krasko> *7b8abc5457- Move statement: enable expression ended with semicolon (KT-8581) (7 days ago) <Toshiaki Kameyama> *5259af157a- (tag: build-1.3.60-dev-2206) JVM IR: workaround correspondingPropertySymbol absence after deep copy (7 days ago) <Alexander Udalov> *b782cf6bdb- JVM IR: workaround KotlinTypeMapper usages in boxing optimization on inline classes (7 days ago) <Alexander Udalov> *c425bd0e0b- JVM IR: do not use KotlinTypeMapper in BuilderFactoryForDuplicateSignatureDiagnostics (7 days ago) <Alexander Udalov> *3a0c41dca4- JVM IR: do not use KotlinTypeMapper indirectly in CallableReferenceLowering (7 days ago) <Alexander Udalov> *26874a6e1e- JVM IR: do not use KotlinTypeMapper in MethodSignatureMapper (7 days ago) <Alexander Udalov> *ee976020bc- JVM IR: add KotlinTypeMapperBase, do not use KotlinTypeMapper in metadata serialization (7 days ago) <Alexander Udalov> *bd8ea9412d- JVM IR: implement MethodSignatureMapper.mapFunctionName directly (7 days ago) <Alexander Udalov> *36c242764f- JVM IR: implement MethodSignatureMapper.mapSignature directly (7 days ago) <Alexander Udalov> *46ced326b8- JVM IR: minimize usages of some methods in MethodSignatureMapper (7 days ago) <Alexander Udalov> *4dc1d61c38- JVM IR: do not remove overridden symbols in BridgeLowering (7 days ago) <Alexander Udalov> *45929f57b6- Minor, add test on name mangling of private multi-file part members (7 days ago) <Alexander Udalov> *cb482571cb- (tag: build-1.3.60-dev-2205) Build: Fix javadocJar task configuration (7 days ago) <Vyacheslav Gerasimov> *cec37cf78a- (tag: build-1.3.60-dev-2202) Add supertype type arguments to super() call in deserialization ctor (7 days ago) <Leonid Startsev> *0b669e72b0- Do not report error about 'initializer required for @Transient properties' on lateinit vars (7 days ago) <Leonid Startsev> *4e516d7c94- Fix IR validation warnings in serialization plugin (7 days ago) <Leonid Startsev> *d3f1cf1cdd- (tag: build-1.3.60-dev-2197) Gradle, native: Don't ignore exit codes of K/N tests (7 days ago) <Ilya Matveev> *9d257a1ed8- (tag: build-1.3.60-dev-2196) JVM IR: generate call to checkNotNull in IrCheckNotNull since 1.4 (7 days ago) <Alexander Udalov> *acc86be043- (tag: build-1.3.60-dev-2186) Extend karma-teamcity-reporter to log browser's output (7 days ago) <Ilya Goncharov> *8fbdb15626- Show suppressed output in case of karma launch failed (7 days ago) <Ilya Goncharov> *425582bb4b- Use only custom karma reporter (7 days ago) <Ilya Goncharov> *ddbae98841- Remove redundant marker of browser log starting (7 days ago) <Ilya Goncharov> *355f847ee0- Add parse of karma log to find browser's messages (7 days ago) <Ilya Goncharov> *8c46fab6d8- Add own reporter that reports only browser log in specific format (7 days ago) <Ilya Goncharov> *9bb5022eb4- Move nested classes (7 days ago) <Ilya Goncharov> *6277267563- Make KarmaConfig as data class (7 days ago) <Ilya Goncharov> *8f7c5c13f8- Parse karma problem to fail task (7 days ago) <Ilya Goncharov> *3d67b952f8- Parse browser output to log (7 days ago) <Ilya Goncharov> *c8d087d744- (tag: build-1.3.60-dev-2181) [FIR] Tests. Save failed tests into testdata (7 days ago) <Dmitriy Novozhilov>
Kotlin/Native
Kotlin/Native is an LLVM backend for the Kotlin compiler, runtime implementation, and native code generation facility using the LLVM toolchain.
Kotlin/Native is primarily designed to allow compilation for platforms where virtual machines are not desirable or possible (such as iOS or embedded targets), or where a developer is willing to produce a reasonably-sized self-contained program without the need to ship an additional execution runtime.
Prerequisites:
- install JDK for your platform, instead of JRE. The build requires
tools.jar, which is not included in JRE; - on macOS install Xcode 10.2
- on Fedora 26+
yum install ncurses-compat-libsmay be needed - on recent Ubuntu
apt install libncurses5is needed
To compile from sources use following steps:
First, download dependencies:
./gradlew dependencies:update
Then, build the compiler and libraries:
./gradlew bundle
To build with experimental targets support compile with -Porg.jetbrains.kotlin.native.experimentalTargets.
The build can take about an hour on a Macbook Pro. To run a shorter build with only the host compiler and libraries, run:
./gradlew dist distPlatformLibs
To include Kotlin compiler in composite build and build
against it, use the kotlinProjectPath project property:
./gradlew dist -PkotlinProjectPath=path/to/kotlin/project
To include Kotlin/Native Shared in a composite build and build against
it, use the sharedProjectPath project property:
./gradlew dist -PsharedProjectPath=path/to/kotlin/native/shared
It's possible to include in a composite build both Kotlin compiler and Kotlin/Native Shared simultaneously.
After that, you should be able to compile your programs like this:
export PATH=./dist/bin:$PATH
kotlinc hello.kt -o hello
For an optimized compilation, use -opt:
kotlinc hello.kt -o hello -opt
For tests, use:
./gradlew backend.native:tests:run
To generate interoperability stubs, create a library definition file
(refer to samples/tetris/.../sdl.def), and run the cinterop tool like this:
cinterop -def lib.def
See the provided samples and INTEROP.md for more details.
The Interop tool generates a library in the .klib library format. See LIBRARIES.md
for more details on this file format.