Commit Graph

1533 Commits

Author SHA1 Message Date
Ilya Gorbunov 2746242fbc Use NIO Files for creating temp files: build tools
Original commit: c9bbdf6575
2020-11-20 06:09:36 +03:00
Vyacheslav Gerasimov ac5da46004 Cleanup 193 compatibility fixes
Original commit: 3feff16a77
2020-11-11 14:28:54 +03:00
Alexey Tsvetkov 132538e017 Add IC metrics reporting
Original commit: 36387d97ad
2020-11-05 23:26:46 +03:00
nataliya.valtman 514a792e75 KT-34862 use relative path for incremental build cache
Original commit: e1a380ec95
2020-10-27 10:45:06 +03:00
Nikolay Krasko 6bf31a7ac9 as42: Apply 201 <-> AS41 diff
Original commit: 2df030f583
2020-09-29 15:32:32 +03:00
Dmitriy Dolovov 3f401214cd HMPP: Avoid NPE during Kotlin facet serialization
^KT-42029

Original commit: f0cbd6b1a5
2020-09-23 10:39:11 +03:00
Dmitriy Novozhilov c62a04d277 Move BuiltinSpecialProperties and JvmAbi to :core:compiler.common.jvm
Original commit: 64ec3fc42b
2020-09-04 11:07:41 +03:00
Georgy Bronnikov b154f74b99 JVM_IR: avoid descriptors when tracking inline properties
Preparing to use wrapped properties in InlineCodegen.

Original commit: 8e24256f95
2020-07-02 12:46:58 +03:00
Nikita Bobko c818141d15 202: Fix KotlinJpsBuildTest tests
Test failure was caused by "replace custom source root types to a special
'unknown' type and back on plugin unload/load (IDEA-235292)" in intellij.

We override `getModuleSourceRootPropertiesSerializers` in `KotlinModelSerializerService`
by inheriting from `KotlinCommonJpsModelSerializerExtension`

Original commit: 6985c5fd2a
2020-07-01 11:31:23 +03:00
Nikita Bobko 0344ff9da7 Refactoring: mark const strings with const keyword
Original commit: 4e65b2fb9e
2020-07-01 11:31:23 +03:00
Denis Zharkov 50725dcde2 Fix incremental compilation for calls to inner classes from supertypes
The problem became actual after bba1c88c8e634b707bb39522129d226add3fa90d

Original commit: 3ce980fd88
2020-07-01 06:55:52 +03:00
Dmitry Petrov e9abd4dbf7 JVM: Generate object and companion object INSTANCE fields as @NotNull
Original commit: e9231b5624
2020-06-22 16:28:00 +03:00
Roman Artemev b11a0d3fc6 [KLIB IC] Add test about incremental kotlin-js-stdlib-klib recompliation
Original commit: cc818025df
2020-06-22 11:30:40 +03:00
Dmitry Savvinov 62a9ad7218 Check for native-shared source-sets properly during facet import
Otherwise they are detected as common source-sets, thus getting
K2MetadataCompilerArguments (instead of FakeK2NativeCompilerArguments),
and the 'applyCompilerArgumentsToFacets' will fail due to check on
javaClass equality

^KT-39657 Fixed

Original commit: 5b48845dfa
2020-06-19 12:15:50 +03:00
Ilya Muradyan 68619252a8 Compare lookups without respect to their order
Original commit: 7526ff9484
2020-06-18 09:51:16 +02:00
Nikita Bobko 68fbddd3d7 202: Fix NPE in BaseKotlinJpsBuildTestCase.tearDown()
Original commit: cb8addc4cd
2020-06-15 23:22:20 +03:00
Alexander Udalov f3efd88bb9 Replace appendln with appendLine in project
Original commit: 6e67e1e78d
2020-06-11 13:01:30 +02:00
Nikita Bobko ff2c453732 202: Fix compilation
Original commit: ff7576f8e4
2020-06-10 12:39:29 +03:00
Ilya Chernikov 7accbf7e28 Extract interface from CompilerMessageLocation to ease extension
The CompilerMessageLocation is an implicit part of the binary daemon
protocol so changing it breaks compatibility with older daemons.
This change allows to extend location for non-daemon uses without
breaking the binary protocol.

Original commit: 5e33612238
2020-06-05 21:58:27 +02:00
Yunir Salimzyanov 19cf915c2d Cleanup 191 extension files (KTI-240)
Original commit: 3b9000cc0c
2020-06-01 18:43:10 +03:00
Yunir Salimzyanov 9381493cff Add annotation to prevent test invocation twice
Cause: it helps to fix double inversion of muted non-flaky tests result
(KTI-216).

Original commit: 8d51b027ed
2020-05-30 22:50:34 +03:00
Andrey Uskov 9ef5970f92 Fixed KNPE when serialized Kotlin Facet is broken
#KT-37428 Fixed

Original commit: 104eeb9ffd
2020-05-28 22:07:44 +03:00
Vyacheslav Gerasimov dd02c526ad as41: Build against AS 4.1 C10
Original commit: af2dce0549
2020-05-27 18:46:57 +03:00
Yan Zhulanow d102098196 202: Fix compatibility with 202 IDEA branch (code)
Original commit: 46ac241e2f
2020-05-27 02:38:44 +09:00
Sergey Rostov 673779df69 jps: testPureJavaProject fix
Original commit: 9574ac83e4
2020-05-25 10:06:11 +03:00
Alexander Udalov 83ec05b31d Support new scheme of compilation of OptionalExpectation annotations
Instead of generating these annotation classes as package-private on
JVM, serialize their metadata to the .kotlin_module file, and load it
when compiling dependent multiplatform modules.

The problem with generating them as package-private was that
kotlin-stdlib for JVM would end up declaring symbols from other
platforms, which would include some annotations from package
kotlin.native. But using that package is discouraged by some tools
because it has a Java keyword in its name. In particular, jlink refused
to work with such artifact altogether (KT-21266).

 #KT-38652 Fixed

Original commit: 012ffa2993
2020-05-12 19:28:57 +02:00
Sergey Rostov 59993b1441 JPS: ignore removed java files
#KT-27458 Fixed

Original commit: 800fcc511a
2020-05-12 16:22:48 +03:00
Mikhail Zarechenskiy 76674906e5 Revert "Add option to enable new inference only for IDE analysis"
This reverts commit 36580d46da.

 #KT-37378 Fixed

Original commit: c01a171d4c
2020-05-04 15:14:43 +03:00
Dmitriy Dolovov 403f7a9bb5 HMPP: Backward-compatible Kotlin facet serialization
^KT-38634

Original commit: 9d27ba5b59
2020-04-29 19:19:54 +07:00
Alexey Tsvetkov 6f7fffbffc JPS: remove outputs for additional dirty files for current iteration
JPS does not remove output files for files marked as dirty
for current iteration. This is a problem for adding complementary files
during JPS MPP IC.
If output files are not removed, the compiler might raise an error
for duplicated actual declarations.

Original commit: 06275a201c
2020-04-18 06:05:44 +03:00
Alexey Tsvetkov 334ae8b2b7 Remove dirty output files when expanding IC scope early
Previously IC could go to the next iteration without removing
outputs for the files compiled during the last iteration.
For example, it could happen, when a multifile part is changed
(we add sources for other parts and recompile everything together).

In case of MPP it could lead to compile error, because
the compiler would see the same actual declarations from dirty sources
and dirty outputs from previous iteration (which should have been removed).
That behaviour did not raise an error before a5c976d0f751830704daa8b7386fcc288139c35c
because actual declarations from binaries (e.g. compile classpath) were ignored.

    #KT-35957 Fixed

Original commit: 4ccec5218f
2020-04-18 06:05:44 +03:00
Alexey Tsvetkov c3abb27b31 Add test for KT-35957
Original commit: 2442abadc3
2020-04-18 06:05:44 +03:00
Alexey Tsvetkov 2af9acb32a Minor: move non-JPS MPP IC tests under incremental/mpp dir
Original commit: 876d6d209f
2020-04-18 06:05:44 +03:00
Dmitriy Dolovov 11523fc8c4 HMPP: Fix serialization of TargetPlatform in Kotlin facet
Original commit: fee6a752e0
2020-04-14 21:07:22 +07:00
Dmitriy Dolovov c2291ab234 JVM, JS: Use faster checks in IdePlatformKind.supportsTargetPlatform()
Original commit: 76b0e7994b
2020-04-14 21:07:06 +07:00
Dmitriy Dolovov 382884f273 HMPP: Parameterize NativePlatform with KonanTarget
Original commit: 8d2e999776
2020-04-14 21:06:48 +07:00
Sergey Rostov 24a2194a77 JPS: provide SourcesPreprocessor extension point
Original commit: fd9bec81cf
2020-04-13 18:02:08 +03:00
Alexey Tsvetkov da1c48254d Add tests for lookup tracker with JS KLIB compiler
Original commit: 6acf9385bd
2020-04-10 05:35:45 +03:00
pyos 4fe55d228f JVM_IR: delay writes to the source map until generateMethod
`generateMethodNode` should not have any side effects for the output to
be stable under incremental compilation.

Original commit: 9ed73439f8
2020-04-08 07:04:16 +02:00
pyos 5c27cf0c71 JVM_IR: reuse MethodNodes for inline functions in same module
This fixes the weird cases when a class gets overwritten by an imperfect
copy, reduces the number of classes in the output if an inline function
contains an inline call that causes it to have regenerated anonymous
objects, and makes inlining of same module functions a bit faster in
general. On the other hand, this may increase memory footprint a bit
because classes cannot be flushed to the output jar, as the inliner
would not be able to locate classes for anonymous objects if they have
already been unloaded from memory.

Original commit: 82899e6243
2020-04-08 07:04:16 +02:00
Konstantin Tskhovrebov 2386a0b1ee Add native run tasks data to KotlinTarget.
Original commit: e1a88de314
2020-04-07 16:09:02 +03:00
Ilya Gorbunov e1a6bef0ec Make use of contracts of time measurement functions
Original commit: fcada0a5e3
2020-04-03 19:36:36 +03:00
Dmitriy Dolovov be8edcdb19 Rename: KonanPlatform, KonanPlatforms -> NativePlatform, NativePlatforms
Original commit: 9bbfe9c1ac
2020-03-29 23:20:52 +07:00
Vyacheslav Gerasimov c06a236e36 Always checkout/checkin text files with lf endings
Different line endings on linux/windows prevents gradle from reusing
build cache since endings make task inputs completely different between
systems

Original commit: bcefa68df0
2020-03-18 22:33:15 +03:00
Alexander Udalov be41b87602 Minor, fix typo in KotlinChunk.kt
#KT-37159 Fixed

Original commit: 43d6ddd405
2020-03-13 11:06:46 +01:00
Vyacheslav Gerasimov 8b1e8995ed Build: Make all compile dependencies on toolsJar compileOnly
tools.jar differs between different versions of JDK reducing cache reuse
so better to not leak it to other modules

Original commit: 0db69cadb6
2020-02-29 16:35:54 +03:00
Ilya Kirillov 98106d300c Don't show IR_COMPILED_CLASS error in IJ when it arises in module with backend IR enabled
The problem here is that library resolver uses global project compiler
settings instead of the module ones. That behaviour is caused by more
global problem described in #KT-21246

As a temporary solution we just do not show IR_COMPILED_CLASS error in
IDE if it arises in a module which have -XuseIR or
-Xallow-jvm-ir-dependencies option provided

#KT-36907 fixed

Original commit: 97e320b57f
2020-02-28 11:45:51 +03:00
Nikolay Krasko 561395d62e Enable mute test with database in BaseKotlinJpsBuildTestCase
Original commit: 26df2a5c68
2020-02-28 11:36:34 +03:00
Pavel Kirpichenkov 3c2874763b [JPS-TESTS] Update incremental compilation test for 1.4
Bug fix `NoConstantValueAttributeForNonConstVals` removes constant attribute from non-constant properties.
Code using such properties does not have to be recompiled, since its value is no longer inlined.

Original commit: 6ed1cc5cd8
2020-02-18 18:31:47 +03:00
Pavel Kirpichenkov 78613c8382 [minor] Update build output in test to fit NI
Original commit: 32e1ec8e98
2020-02-18 11:19:19 +03:00