Commit Graph

36222 Commits

Author SHA1 Message Date
Alexey Andreev c285e5ba3b JS: add tests too prove that operator conventions are correctly inlined. Support inlining of invoke operator. See KT-7588 2016-12-20 15:47:39 +03:00
Alexey Andreev d3d406356c JS: use optimized emulation of int32 multiplication. Add test for emulated int32 multiplication 2016-12-20 15:47:39 +03:00
Alexey Andreev 7d8df5c81c JS: optimize integer overflow emulation when possible 2016-12-20 15:47:38 +03:00
Alexey Andreev eb5c79c70d JS: support int overflow behaviour in augmented assignment 2016-12-20 15:47:38 +03:00
Alexey Andreev c411a8febe JS: update tests 2016-12-20 15:47:37 +03:00
Alexey Andreev c854b81a09 JS: trying to implement integer overflow for increment and decrement 2016-12-20 15:47:37 +03:00
Alexey Andreev 446c4c0a33 JS: provide overflow behaviour for int binary operations (see KT-7733) 2016-12-20 15:47:36 +03:00
Mikhail Zarechenskiy 24d5bdd62c Fix test data after migration to 'rem' 2016-12-20 15:20:47 +03:00
Mikhail Zarechenskiy 1baf719cb4 Update operations map, remove TODO 2016-12-20 15:20:38 +03:00
Nikolay Krasko c076ad5a8d Don't assign type parameters from original proto if type is substituted with Any (KT-15128)
#KT-15128 Fixed
2016-12-20 15:16:23 +03:00
Alexey Tsvetkov e9e1b3fea1 Fix getting daemon connection in JPS 2016-12-20 14:46:23 +03:00
Mikhail Zarechenskiy 35e732a97f Place inference from getters under the language feature 2016-12-20 14:14:19 +03:00
Ilya Gorbunov c6a812b11c Fix some API holes in headers 2016-12-20 14:02:01 +03:00
Ilya Chernikov 4f2410ffe0 Fix TC compilation and kapt3 tests compilation 2016-12-20 10:02:01 +01:00
Mikhael Bogdanov 5222768ba1 Adedd quickfix check if @PublishedApi stub already exists 2016-12-20 09:42:14 +01:00
Mikhael Bogdanov c38b55612b Support properties in @PublishedApi bridge quickfix 2016-12-20 09:42:13 +01:00
Mikhael Bogdanov 6ca1d47207 Published-api checker refactoring, support java package-protected visibility 2016-12-20 09:42:13 +01:00
Dmitry Petrov 0fa2c54ae8 Identity comparison for primitives is deprecated (warning).
Identity comparison for primitive vs non-primitive is a warning (due to implicit boxing).
2016-12-20 11:00:58 +03:00
Alexey Tsvetkov 434f33f9e9 Minor: remove default value of retryOnConnectionError parameter 2016-12-19 22:55:28 +03:00
Alexey Tsvetkov 254d051a1f Minor: replace map().flatten()->flatMap() 2016-12-19 22:55:27 +03:00
Alexey Tsvetkov c89e62c45a Minor: rename enableIC->withIC 2016-12-19 22:55:27 +03:00
Alexey Tsvetkov 54d0a6b8e4 Minor: fix snapshot version used in kapt test kt15001 2016-12-19 22:55:26 +03:00
Alexey Tsvetkov 69d1ee7b11 Run kapt with daemon 2016-12-19 22:55:26 +03:00
Alexey Tsvetkov 865c6d887c Report messages from kapt using MessageCollector
This allows to print messages when daemon is used.
System out is not copied to daemon client,
because multiple compilations can occur in parallel.
2016-12-19 22:55:25 +03:00
Alexey Tsvetkov b39cefe5d1 Optimize searching for compiler jar 2016-12-19 22:55:25 +03:00
Alexey Tsvetkov de2736489b Unify Gradle and Kotlin daemon cache version checking 2016-12-19 22:55:25 +03:00
Alexey Tsvetkov d5e42e3271 Clear jar cache with daemon 2016-12-19 22:55:24 +03:00
Alexey Tsvetkov 69e8cf6a25 Compile multiplatform projects with daemon 2016-12-19 22:55:24 +03:00
Alexey Tsvetkov d303bdaa0e Minor: add missing import 2016-12-19 22:55:23 +03:00
Alexey Tsvetkov fcf23706c0 Fix gradle subplugin example 2016-12-19 22:55:23 +03:00
Alexey Tsvetkov 8228d5828e Fix multiproject Gradle IC with daemon 2016-12-19 22:55:22 +03:00
Alexey Tsvetkov fb869277d9 Set property "idea.plugins.compatible.build" every time production environment is created
Gradle can wipe system properties between the build.
If this property is not set, "idea.properties is not found exception"
can be thrown when creating KotlinCoreEnvironment.
2016-12-19 22:55:22 +03:00
Alexey Tsvetkov 51a8f6ee4f Implement server side IC 2016-12-19 22:55:21 +03:00
Alexey Tsvetkov f411bb0b4b Refactoring: extract withDaemon 2016-12-19 22:55:21 +03:00
Alexey Tsvetkov 9654607f42 Refactoring: pass MessageCollector, OutputItemsCollector in CompilerEnvironment 2016-12-19 22:55:20 +03:00
Alexey Tsvetkov 3f91df4c84 Minor: move GradleCompilerEnvironment to separate file 2016-12-19 22:55:20 +03:00
Alexey Tsvetkov 145608ec0f Minor: remove redundant call 2016-12-19 22:55:20 +03:00
Alexey Tsvetkov c1812d7d92 Move IC tests to compiler
Fixing IC after moving it from Gradle to the compiler in commit f40a3eff20
2016-12-19 22:55:19 +03:00
Alexey Tsvetkov cbe680d876 Move file utils
Fixing IC after moving it from Gradle to the compiler in commit f40a3eff20
2016-12-19 22:55:17 +03:00
Alexey Tsvetkov 8bd8f5eacf Make IC classes public
Fixing IC after moving it from Gradle to the compiler in commit f40a3eff20
2016-12-19 22:55:14 +03:00
Alexey Tsvetkov a569f7e75a Remove remaining gradle api references
Fixing IC after moving it from Gradle to the compiler in commit f40a3eff20
2016-12-19 22:55:06 +03:00
Alexey Tsvetkov 939020ec60 Replace org.jetbrains.kotlin.com.intellij with com.intellij
Fixing IC after moving it from Gradle to the compiler in commit f40a3eff20
2016-12-19 22:54:38 +03:00
Alexey Tsvetkov f40a3eff20 Move IC from Gradle to compiler
Reasons for moving:
1. Integration with Kotlin daemon for Gradle.
Gradle bundles Kotlin compiler (kotlin-compiler-embeddable) since Gradle 3.2.
There is no plugin isolation in Gradle, so strange compilation errors/exceptions may happen.
We decided to fix this problem by compiling out-of-process using Kotlin daemon.

Reasons for moving IC to the compiler:
* Better isolation from Gradle process.
* Incremental compilation logic is not scattered across two process and multiple modules.
* Makes it possible to implement standalone CLI IC
2016-12-19 22:46:12 +03:00
Alexey Tsvetkov 377912f42d Replace Gradle logger with ICReporter 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov 599f11b431 Refactoring: extract interface AnnotationFileUpdater 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov fdd3bc31f1 Rename: IncReporter->ICReporter 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov 4fdca24db4 Remove source annotations removing (not needed with KAPT3) 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov 190c038ad8 Minor: log compiler arguments 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov c7c2a93d1f Use daemon when compiling Kotlin to JS 2016-12-19 22:46:12 +03:00
Alexey Tsvetkov 25816b2ccf Use ProcessLauncher from native platform for out-of-process compilation 2016-12-19 22:46:12 +03:00