Commit Graph

87778 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 24e7a11abc Native: fix losing Worker.executeAfter jobs on scheduled time clash
The implementation was keeping delayed jobs in std::set sorted
only by the scheduled execution time (in microseconds since epoch).
So two jobs submitted to a worker and having the same scheduled time
were considered equivalent by the set, and one of them got lost.

Fix this by using std::multiset instead of std::set.
2021-11-26 11:59:40 +00:00
Andrey Uskov 95648f1a9e Fix incremental compilation in some compiler plugins
If compiler plugin removes source files between rounds of incremental
compilation, it may result into incorrect state of stubs. But rebuilding
stubs may require services available in UI mode only and cause
compiler failure.
This commit contains work-around allowing to avoid incorrect state of
stubs.
#KT-49340 Fixed
2021-11-26 14:25:45 +03:00
pyos a1be855d17 FIR: thread control flow through anonymous object init blocks
^KT-39646 Fixed
2021-11-26 14:21:29 +03:00
Pavel Punegov 19031c88d9 [Native][test] Fix task dependencies
Apply dependencies on build task, not its provider, because otherwise
dependencies are being set during the task creation that makes them
circular.
2021-11-26 10:13:06 +00:00
Pavel Punegov 918d47d110 [Native][test] Use Distribution instead 2021-11-26 10:13:06 +00:00
Pavel Punegov 6981d9955b [Native][test] Don't build dist if non default home is set
Also build crossDist target in case it is missing in the specified
native home dir.
2021-11-26 10:13:06 +00:00
Pavel Punegov 8be2196ea9 [Native][test] Fix testLibrary dependency 2021-11-26 10:13:05 +00:00
Pavel Punegov 666ecf4bfb [Native][build] Set properties for Konan plugin 2021-11-26 10:13:05 +00:00
Pavel Punegov d73f8ea44e [Native][Test] Fix platformLibs dependencies
Sanity tests should not run tests that depend on platform libs. Also
fix platform libs dependency setting
2021-11-26 10:13:04 +00:00
Ilya Goncharov cac286c915 [JS IR] Access with exported properties by its name, not accessor
[JS IR] Export properties to ts as getter/setter, not fields

[JS IR] Fix typescript tests



Merge-request: KT-MR-5074
2021-11-26 09:18:12 +00:00
Igor Chevdar 353f82f9e6 Revert "[K/N][runtime][interop] Refactoring to run cinterop in daemon"
This reverts commit 47858126da.
2021-11-26 14:05:59 +05:00
Igor Chevdar 0ccb271323 Revert "[K/N][interop] Made NativeMemoryAllocator lock-free"
This reverts commit d642cda8f0.
2021-11-26 14:05:02 +05:00
Igor Chevdar fed76a87af Revert "[K/N][build] Refactored K/N tool runner"
This reverts commit fa587a61fd.
2021-11-26 14:04:06 +05:00
Igor Chevdar 07adab561c Revert "[K/N][interop] A small optimization"
This reverts commit 2cbe946331.
2021-11-26 14:02:43 +05:00
Igor Chevdar 4b53a8e3c7 Revert "[K/N][gradle][interop] Refactored ToolConfig"
This reverts commit d9c1b1f6f7.
2021-11-26 14:01:40 +05:00
Igor Chevdar 031d92e21f Revert "[K/N][gradle] Automatic cleaning of the class loaders map"
This reverts commit 874b442a13.
2021-11-26 14:00:30 +05:00
Dmitriy Novozhilov 2b84e8e68f [FIR] Pass proper containing classes from context to type resolution for local classes 2021-11-26 11:26:24 +03:00
Dmitriy Novozhilov 98934e15c0 [Build] Fix dependency on JUnit in :pill:generate-all-tests 2021-11-26 11:26:22 +03:00
Dmitriy Novozhilov 330574cab6 [FIR] Properly support smartcasts on stable when subjects in when conditions
^KT-49860 Fixed
2021-11-26 11:26:21 +03:00
Dmitriy Novozhilov 20425fb458 [FIR] Add wrapped expressions for when subject expression with smartcast 2021-11-26 11:26:19 +03:00
Dmitriy Novozhilov 8707be51c9 [FIR] Report errors about invisible types from type resolution 2021-11-26 11:26:17 +03:00
Dmitriy Novozhilov f2c319c4ae [FIR] Add ability to safe proper ConeKotlinType in FirErrorTypeRef
This is needed for cases when some type ref is resolved to proper type
  but has some diagnostic (e.g. this type is invisible)
2021-11-26 11:26:16 +03:00
Artem Kobzar 08b0e17d47 feat(polyfills): use stdlib for js polyfills. 2021-11-26 08:14:34 +00:00
Mikhail Glukhikh 4a8f00bc7c FIR2IR: support reading of isNewPlaceForBodyGeneration in lazy class 2021-11-26 09:18:11 +03:00
Mikhail Glukhikh c652cd2245 Fix typo 2021-11-26 09:18:11 +03:00
Alexander Udalov 40162dbf89 Proofread -Xjvm-default description 2021-11-25 19:42:56 +01:00
Igor Chevdar 874b442a13 [K/N][gradle] Automatic cleaning of the class loaders map 2021-11-25 23:42:10 +05:00
Igor Chevdar d9c1b1f6f7 [K/N][gradle][interop] Refactored ToolConfig
Added possibility to create different strategies for loading libclang
2021-11-25 23:42:10 +05:00
Igor Chevdar 2cbe946331 [K/N][interop] A small optimization 2021-11-25 23:42:10 +05:00
Igor Chevdar fa587a61fd [K/N][build] Refactored K/N tool runner 2021-11-25 23:42:09 +05:00
Igor Chevdar d642cda8f0 [K/N][interop] Made NativeMemoryAllocator lock-free 2021-11-25 23:42:09 +05:00
Igor Chevdar 47858126da [K/N][runtime][interop] Refactoring to run cinterop in daemon 2021-11-25 23:42:09 +05:00
Igor Chevdar 8907c3506d Advance bootstrap to 1.6.20-dev-5890 2021-11-25 23:42:09 +05:00
Roman Golyshev 2a8431d80c [FIR IDE] Unify creation of KtFe10DescFunctionSymbol
It will be required later to implement overrides unwrapping logic
for descriptor-based symbols
2021-11-25 21:19:58 +03:00
Roman Golyshev fa8bb47bdf [FIR IDE] Add unwrapping substitution overrides which doesn't affect function's signature
Also, do not use PSI to restore SUBSTITUTION_OVERRIDE function/property
symbols
2021-11-25 21:19:56 +03:00
Yahor Berdnikau 2766dc938b Disabled compiler plugin tests on Windows.
Kotlin compiler is leaking file descriptor to plugin jar file.

^KT-38570 Fixed
2021-11-25 15:10:23 +01:00
Ilya Goncharov 98bedf7eed [IR] More user-friendly compilation exceptions from lowerings and JS codegen
Merge-request: KT-MR-5004
2021-11-25 13:21:34 +00:00
Sergey Igushkin 844876a974 KT-49835: Exclude org.gradle.jvm.environment attribute from publishing
Not publishing this attribute fixes the consumers that don't set it.
Those may encounter either a conflict of Kotlin <= 1.5.31 rule on
{JVM, Android} -> Android vs Gradle rule
{standard-jvm, android} -> standard-jvm (causing disambiguation
failures). Or they may run Gradle < 7.0 which doesn't have
disambiguation rules for `org.gradle.jvm.environment` and therefore
treats it as an ordinary extra attribute, thus eventually preferring
variants which don't have it if no other disambiguation rule worked
(again causing disambiguation failures since some rules may prefer the
variants where this attribute *is* set).

Also set a "non-jvm" value of this attribute for non-JVM variants for
project-to-project dependencies in order to "align" them so that Gradle
doesn't prefer variants not marked with this attribute.

Extend the set of dependency resolution tests which check
compatibility of different kinds of Android & JVM consumers against
project and published library: add Kotlin 1.5.31 consumers, also check
consumption with different Gradle version than the one which did the
publication.

Issue #KT-49835
2021-11-25 13:10:27 +00:00
Stanislav Erokhin 8a0969156f Do not set "idea.plugins.compatible.build" -- fix plugin update issue
In the IDEA plugin update there are a code that used system property
"idea.plugins.compatible.build" to calculate the IDEA version
that will be sent to plugin marketplace to download last version of
the plugins. It seems like by some reason setupIdeaStandaloneExecution()
was called from the IDEA thread and because of that idea version was
calculated incorrectly and incorrect version of the plugins was
downloaded.

It is still unclear how the setupIdeaStandaloneExecution() could be
called from the IDEA, so added logging for that.

Relevant issue: MP-3702
Relevant code in the IDEA:
- ApplicationInfoImpl.getPluginsCompatibleBuildAsNumber
2021-11-25 15:50:37 +03:00
Aleksei.Cherepanov 6c28e9f4d4 Exclude :native:native.tests module from JPS build
It can be reverted after KT-46323 fix
2021-11-25 12:47:08 +00:00
Jinseong Jeon edc17a9d5f FIR LC: populate no-arg constructor if needed 2021-11-25 12:53:54 +01:00
Yahor Berdnikau d253f9ba0e Add test to validate incremental changes in compiler plugin.
If compiler plugin was recompiled incrementally, other projects in the
same build should pick it up and regenerate sources.

^KT-38570 Fixed
2021-11-25 12:45:29 +01:00
Dmitry Petrov 88f41d006a FIR2IR don't generate delegates for default interface members 2021-11-25 13:25:36 +03:00
Mads Ager 261482904c [FIR] Give external package fragments different module descriptors.
The inliner uses module descriptors to figure out if it needs to
regenerate objects.

We should avoid the use of descriptors in the inliner, but this
works as a first quick fix.
2021-11-25 13:20:31 +03:00
Yahor Berdnikau d205c376a7 Move JavaUpToDateIT tests into 'JvmGradlePluginTests'.
^KT-45745 In Progress
2021-11-25 11:03:14 +01:00
Yahor Berdnikau b6c11b544e Move kapt tests into 'OtherGradlePluginTests'.
^KT-45745 In Progress
2021-11-25 10:57:23 +01:00
Sergey Bogolepov 4c45f71edb [K/N] Fix KT-49876
Use llvm-ar on Windows host when producing Linux static library.
2021-11-25 09:28:03 +00:00
Roman Artemev 979ddacd8c [JS IR] Add and generate IC invalidation tests 2021-11-25 11:22:52 +03:00
Roman Artemev 85025b85b8 [JS IR] Implement runner to test IC invalidation
- add corresponding gradle task
2021-11-25 11:22:51 +03:00
Roman Artemev a01d9b77c3 [JS IR] Delegate invalidated files processing to the caller
This change is needed to test invalidation somehow
2021-11-25 11:22:45 +03:00