Commit Graph

88697 Commits

Author SHA1 Message Date
Alexander Udalov 92c80873ba Revert "JVM: remove support for disabling NoConstantValueAttributeForNonConstVals"
This is a partial revert of e857966edb.

Specifically, behavior is restored in the old backend, which will allow
to support language version 1.3, where this language feature was not
enabled yet. There are no changes in the JVM IR backend, because to
enable JVM IR with LV 1.3, you need to pass the compiler argument
`-Xuse-ir` which is not stable and we don't guarantee anything about it.

 #KT-50251
2021-12-28 13:21:18 +01:00
Alexander Likhachev 5097d426c1 [Gradle] Mark MetricsWriter with Serializable interface
#KT-50549 Fixed
2021-12-28 12:05:09 +00:00
Alexander Likhachev 426faf4ca6 [Gradle] Add test for KT-50549 2021-12-28 12:05:08 +00:00
Sergey Igushkin cb9dfc8e01 KT-50509: Optimize the performance of whenEvaluated { ... } wrapper
The Gradle API `pluginManager.withPlugin(id) { ... }` turned out to have
a significant performance footprint due to operations on underlying
immutable collections.

We can replace calls to `withPlugin` with checks of `hasPlugin` running
on each applied plugin.

Issue #KT-50509 Verification pending
2021-12-28 10:09:42 +00:00
Roman Artemev 723ef8f1fb [KLIB] Deserialize backing field initializers of const in IB-only mode
Missing const initializer leads to crash in property accessors inline
lowering during IC recompilation on JS.

 - fix #KT-50512
 - add test for JS IR IC
2021-12-27 23:43:43 +03:00
mvicsokolova 188d073cc3 kotlinx.atomicfu compiler plugin (JS): tracing supported. (#4691)
* kotlinx.atomicfu compiler plugin (JS): tracing supported.

* Erasing trace invocations from both IrBlock and IrBlockBody.
2021-12-27 23:20:08 +03:00
Victor Petukhov 29f174f074 Revert "Revert "Temporary workaround for failing tests on teamcity.""
This reverts commit 2c51799e0a.
2021-12-27 22:56:01 +03:00
Victor Petukhov 9c225c5b56 Revert "[Compiler CLI] Use LanguageVersion.LATEST_STABLE instead of KotlinVersion.CURRENT for java type enhancement settings to prevent dependency on kotlin version."
This reverts commit 0689d74353.
2021-12-27 22:56:00 +03:00
Martin Petrov 50250ccf65 [Native] Escape the module name in the C adapter.
This previously failed if the module name contaned dots or dashes, e.g.

```
kotlinc-native ~/test.kt -produce static -module-name="foo-bar.baz"
```

This change espaces `-` and `.` similar to `ObjCExportNamer`'s `abbreviate`.
2021-12-27 19:45:14 +03:00
Yahor Berdnikau f895e92b11 Bump Gradle 7.3 version to 7.3.3
^KT-45745 In Progress
2021-12-27 15:19:19 +01:00
Yahor Berdnikau 3fca808b63 Revert "Revert "Set minimal supported Gradle version to 6.7.1.""
This reverts commit 2aa1c187d9.

^KT-49733 Fixed
2021-12-27 15:19:15 +01:00
Ilya Kirillov 4d7af4beae Analysis: fix imports and module names 2021-12-27 16:23:46 +03:00
Ilya Kirillov ec0123663b Fix analysisAllTests task name 2021-12-27 16:23:28 +03:00
Ilya Kirillov 4c94e2958e Analysis: add more run configurations 2021-12-27 16:23:22 +03:00
Ilya Kirillov 62c9a7888b Analysis: remove // FIR_COMPARISON form LC testdata as LC tests are moved from IJ 2021-12-27 16:23:21 +03:00
Ilya Kirillov 4e58dc3467 Fix small compilation problems in LC testdata which should not influence LC results 2021-12-27 16:23:21 +03:00
Ilya Kirillov 02f9f116b2 Analysis: ignore failing LC test 2021-12-27 16:23:20 +03:00
Ilya Kirillov db31e0292c Analysis: add LC testdata with current behaviour 2021-12-27 16:23:20 +03:00
Ilya Kirillov 0b3a0fd799 Analysis: fix LC test environment 2021-12-27 16:23:19 +03:00
Ilya Kirillov 2c80a53a73 Analysis: generate symbol LC tests 2021-12-27 16:23:18 +03:00
Ilya Kirillov 40fdb26569 Analysis LC: introduce Symbol LC tests 2021-12-27 16:23:18 +03:00
Ilya Kirillov abf7a4c5ac Introduce ConcurrentMapBasedCache 2021-12-27 16:23:17 +03:00
Ilya Kirillov 1bba3b2256 Migrate decompiled light classes factories from IJ 2021-12-27 16:23:17 +03:00
Jinseong Jeon 09f5ec7bd3 FIR LC: add supports for decompiled declarations 2021-12-27 16:23:16 +03:00
Ilya Kirillov aa87524513 Migrate stub and psi builders by classfiles form IJ repository 2021-12-27 16:23:16 +03:00
Ilya Kirillov 0efc819e48 Fix invalid repeatable annotations loading in sutb builder 2021-12-27 16:23:16 +03:00
Ilya Kirillov d2832697d9 Move stub building test generation to analysis generator 2021-12-27 16:23:15 +03:00
Ilya Kirillov 1e9764c639 Move stub building from psi module to analysis module 2021-12-27 16:23:14 +03:00
Ilya Kirillov cd3905e400 Fix dependencies to intellij modules after gradle dependency DSL update 2021-12-27 16:23:13 +03:00
Ilya Kirillov b563824b35 Migrate LightMemberOriginForCompiledElement from IJ repository 2021-12-27 16:23:13 +03:00
Ilya Kirillov 764ad8b9fa Move light classes for decompiled declarations from IJ repository 2021-12-27 16:23:12 +03:00
Ilya Kirillov fceb46924e Move decompiler from IJ repository
This commit just moves files and fixes imports
2021-12-27 16:23:11 +03:00
Ilya Kirillov a367fee5cf Add newly added modules to the list of compiler modules 2021-12-27 16:23:11 +03:00
Ilya Kirillov 3779acbc3d Add testdata from intellij for cls stub building tests and generate tests 2021-12-27 16:23:11 +03:00
Ilya Kirillov 02d68d7b12 Introduce cls stub building tests (mostly migrated from intellij) 2021-12-27 16:23:10 +03:00
Ilya Kirillov 127dc7670e Move IDEKotlinBinaryClassCache from intellij 2021-12-27 16:23:10 +03:00
Ilya Kirillov b222bf88a0 Move DirectoryBasedClassFinder and DirectoryBasedDataFinder from intellij 2021-12-27 16:23:10 +03:00
Ilya Kirillov dbb3ebb8df Implement AnnotationLoaderForClassFileStubBuilder 2021-12-27 16:23:09 +03:00
Ilya Kirillov b9b0bb309d Move KotlinClsStubBuilder from intellij repository
This commit is just move, without any modifications
2021-12-27 16:23:09 +03:00
Ilya Kirillov 78db89b46b Extract AbstractBinaryClassAnnotationLoader to be used without FE1.0 2021-12-27 16:23:08 +03:00
Ilya Kirillov 52baf7338e Move KotlinBinaryClassCache to separate module, so it can be used outside FE1.0 2021-12-27 16:23:08 +03:00
Ilya Kirillov 25fe14b514 Move PerformanceCounter to runtime utils, so it can be used outside FE1.0 2021-12-27 16:23:07 +03:00
Ilya Kirillov 3686fc109d Extract AnnotationLoader from AnnotationAndConstantLoader, so it can be used without FE1.0 2021-12-27 16:23:07 +03:00
Ilya Kirillov 49e9c47071 Move DynamicTypeDeserializer.id from IR module to common module
So, it can be used from cls-psi-stub-builder module
2021-12-27 16:23:06 +03:00
Ilya Kirillov 53346e0aa6 Merge KotlinFileStubImpl and KotlinFileStubForIde into KotlinFileStubImpl
as the only difference is additional fields in KotlinFileStubForIde
2021-12-27 16:23:05 +03:00
Ilya Kirillov a9d7e5db72 Move stub builder stuff from intellij
This is mechanical moving without fixing compilation errors,
just packages are changes
2021-12-27 16:21:51 +03:00
Igor Chevdar af09fb51ac [K/N][IR] Made the compiler pipeline to do per file lowerings 2021-12-27 14:28:29 +05:00
Igor Chevdar d3a7aefe36 [K/N][IR] Turned off SAM super types checker
Fixes https://youtrack.jetbrains.com/issue/KT-50399
2021-12-27 08:42:30 +00:00
Hung Nguyen 78f10d9142 KT-45777: Keep only package facades whose members are looked up
to reduce the size of the shrunk classpath snapshot further.
2021-12-25 00:20:31 +03:00
Alexander Shabalin a6b5339980 [K/N] Fix a race in ThreadWithContextTest
Merge-request: KT-MR-5349
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2021-12-24 18:49:26 +00:00