Commit Graph

91308 Commits

Author SHA1 Message Date
Mikhael Bogdanov ccbecbaccb KAPT+IR: Update tests 2022-02-17 12:26:42 +01:00
Mikhael Bogdanov 7b767aaa1c KAPT+IR: Don't clear binding context if KAPT is used 2022-02-17 12:26:42 +01:00
Mikhael Bogdanov f05c72d48f KAPT+IR: Properly process annotations and backing field annotations 2022-02-17 12:26:42 +01:00
Mikhael Bogdanov ea2bf3c867 KAPT+IR: Support -Xjvm-default modes 2022-02-17 12:26:41 +01:00
Mikhael Bogdanov 00f2b83b84 KAPT+IR: Support @JvmOverloads annotation 2022-02-17 12:26:41 +01:00
Mikhael Bogdanov 7ec19d015c KAPT+IR: Properly process repeatable annotation
~review fix
2022-02-17 12:26:41 +01:00
Mikhael Bogdanov d810d93578 IR: Keep annotations in enum constructor during lowering 2022-02-17 12:26:40 +01:00
nataliya.valtman aea0a38377 Advance bootstrap to 1.7.0-dev-1984 2022-02-17 14:19:41 +03:00
Sergey Bogolepov 50cc4f301d [K/N] Manually add the rest of hosts to the dependency in KT-51302 2022-02-17 11:12:58 +00:00
Sergey Bogolepov a22dcc0f14 [K/N] Test case for KT-51302
There is no infrastructure for testing klib ABI compatibility yet.
As a workaround, we store klib directly in repo.
2022-02-17 11:12:57 +00:00
Sergey Bogolepov 2f46a45bfd [IR] Deserialize annotation classes as open
Compiler backend relies on the fact that all annotation classes have
OPEN modality. This is not the case for libraries that were compiled
before 1.6.20. 948dc4f3 fixes compatibility for Lazy IR, here we do the
same for IR deserializer.

^KT-51302 fixed
2022-02-17 11:12:57 +00:00
Svyatoslav Scherbina 1fdb86d517 Native: fix loading libllvmstubs.dylib on macOS 12.3 Beta
Link libllvmstubs.dylib to `$sysroot/usr/lib/libc++.1.dylib`
instead of `$llvm/lib/libc++.1.dylib`.
The latter has `@rpath/libc++.1.dylib` as install name, so
the dynamic linker was unable to find it when loading
libllvmstubs.dylib on macOS 12.3.

^KT-51359 Fixed
2022-02-17 11:07:26 +00:00
Yahor Berdnikau 4143df1c8f Remove 'KotlinGradleSubplugin'
^KT-48831 Fixed
2022-02-17 10:40:03 +00:00
Dmitry Gridin 85d949a04a [light classes] simplify hashCode functions
^KTIJ-21151
2022-02-17 10:31:48 +00:00
Pavel Kirpichenkov 6674c3f482 [MPP] Apply @UnsafeNumber to functions and properties
KT-51224
KT-51215
2022-02-17 13:17:13 +03:00
Pavel Kirpichenkov f8a1395a03 [MPP] allow function and property targets for @UnsafeNumber annotation
KT-51224
KT-51215
2022-02-17 13:17:13 +03:00
Dmitriy Dolovov 9ba5bf72ce [Native][tests] Support one/two stage test modes 2022-02-17 12:45:39 +03:00
Dmitriy Dolovov ab765f6c87 [Native][tests] Do not run test executable to fetch the list of test names
Use test listing produced during compilation instead.

^KT-50316
2022-02-17 12:45:38 +03:00
Dmitriy Dolovov b44c0f6789 [Native][tests] Always run DumpedTestListing test at the host target
This is for simplification’s sake. We need to run executable file with --ktest_list_tests flag and compare test listing with the test listing produced during the compilation.

^KT-50316
2022-02-17 12:45:38 +03:00
Dmitriy Dolovov 26ffd66a54 [Native][tests] Tests to check dumped test listing
^KT-50316
2022-02-17 12:45:38 +03:00
Dmitriy Dolovov 5500e3a332 [Native][tests] Support parsing dumped test listing
^KT-50316
2022-02-17 12:45:38 +03:00
Dmitriy Dolovov 5a26f58b24 [Native][tests] Refactoring: Rename TestListing* to GTestListing*
^KT-50316
2022-02-17 12:45:37 +03:00
Dmitriy Dolovov 56510fbc6c [Native][tests] Dump the list of all available tests during compilation
^KT-50316
2022-02-17 12:45:37 +03:00
Elena Lepilkina 703aea1362 [K/N] Added Mac OS X (Arm64) target support on performance server 2022-02-17 09:43:43 +00:00
Elena Lepilkina 76220ebf43 [K/N][perf] Fix videoplayer compile only benchmark for mac_arm64 2022-02-17 09:43:43 +00:00
Elena Lepilkina bee188dc8b [K/N][perf] Turn on cinterop commonization 2022-02-17 09:43:43 +00:00
Elena Lepilkina 015920257f [K/N][perf] Adopt benchmarks plugins and tools to support both macosX64 and macosArm64 2022-02-17 09:43:42 +00:00
Elena Lepilkina b9a1b3c4df [K/N][perf] Support framework benchmark on macosArm64 2022-02-17 09:43:42 +00:00
Elena Lepilkina f67656aeba [K/N][perf] Added macosArm64 target to benchmarksAnalyzer 2022-02-17 09:43:42 +00:00
Hung Nguyen d2193f3873 KT-45777: Allow 2 levels of granularity when tracking changes
1. CLASS_LEVEL: allows tracking whether a .class file has changed
     without tracking what specific parts of the .class file (e.g.,
     fields or methods) have changed.

  2. CLASS_MEMBER_LEVEL: allows tracking not only whether a .class file
     has changed but also what specific parts of the .class file (e.g.,
     fields or methods) have changed.

 The idea is that for better performance we will use CLASS_LEVEL for
 classpath entries that are usually unchanged, and CLASS_MEMBER_LEVEL
 for classpath entries that are frequently changed. We'll work out the
 specifics in a following commit after some measurements.

Support running kotlinc on Windows in ClasspathSnapshotTestCommon
Also add tests for different Kotlin class kinds.
Add unit tests for CLASS_LEVEL snapshotting and diffing

Test: Updated ClasspathSnapshotterTest + ClasspathChangesComputerTest
Add ClasspathChangesComputerTest.testMixedClassSnapshotGranularities
2022-02-17 10:46:19 +03:00
Ilmir Usmanov 05457c291d Minor. Update test 2022-02-17 09:00:37 +03:00
Alexander Udalov 480c15277d FIR tree gen: extract interface/class solver to generators 2022-02-17 00:32:44 +01:00
Alexander Udalov db1d1be4fc FIR tree gen: refactor interface/class solver code
To be able to reuse it in the upcoming IR tree generator.
2022-02-17 00:32:44 +01:00
Jinseong Jeon ac46ce908f AA: consider directories with class files when creating a lib module 2022-02-16 22:06:15 +01:00
Jinseong Jeon 552bfc9e39 LL: rename files according to class names in them 2022-02-16 22:06:14 +01:00
Jinseong Jeon 63d033e0a1 AA: remove Ide prefix from deserialized declaration source provider 2022-02-16 22:06:14 +01:00
Alexander Udalov e6d3c39229 Prepare kotlinx-metadata-jvm 0.4.2 for release 2022-02-16 22:01:04 +01:00
Ilmir Usmanov f4407c213a Rename some tests with long names
Otherwise, their path on WIN will be longer than MAXPATH, leading to
V8 load error.
2022-02-16 23:46:30 +03:00
Nikolay Krasko 03cb9942e6 Revert "Support common metadata in kotlinx-metadata"
This reverts commit f9cc443e4f.
2022-02-16 22:31:26 +03:00
Alexander Udalov f9cc443e4f Support common metadata in kotlinx-metadata
KotlinCommonMetadata can be used to inspect .kotlin_builtins and
.kotlin_metadata files. It's in an internal package for now, but might
be published once the API is finalized.
2022-02-16 17:38:30 +01:00
Victor Petukhov 0518b84b0b [FE] Remove unused SoundSmartcastFromLoopConditionForLoopAssignedVariables language feature 2022-02-16 18:41:52 +03:00
Victor Petukhov 5c8ca0ca9b [Compiler CLI] Use reading language version settings from environment only if the resource is presented or flag is set 2022-02-16 18:41:51 +03:00
Victor Petukhov 683a3e74a0 [Compiler CLI] Implement reading language version settings from environment variable
^KT-51306 Fixed
2022-02-16 18:41:50 +03:00
Alexander Korepanov 43a0876c26 [JS IR] IC invalidation performance improvements
- Cache signature readers and deserializers
 - Cache inline function hashes
 - IC refactoring
 - [gradle] Use hash of module path for cache dir; Fix KT-51238

^KT-51238 Fixed
2022-02-16 13:41:53 +00:00
Ilmir Usmanov 290a06676d Minor. Ignore tests in JS_IR 2022-02-16 16:12:29 +03:00
Artem Kobzar 804eb61bf0 feat: add polyfills insertion for ES Next used features 2022-02-16 10:49:11 +00:00
Mikhail Glukhikh 76ff717091 FIR2IR: don't create non-lazy fake overrides inside lazy class
This commit allows to calculate member with initial signature properly.
Only lazy IR members are suitable to calculate initial signature.
Before this commit we sometimes built non-lazy children for lazy class.
Now we build lazy children (with an exception of private declarations).
2022-02-16 09:24:12 +00:00
Alexander Likhachev 80a68ec433 [Build] Remove local publishing workaround for configuration cache
#KTI-759 Fixed
2022-02-16 08:28:14 +00:00
Alexander Likhachev 589ddc7b98 Revert "[Gradle] Add IT that useExperimentalAnnotation produces deprecation warn"
This reverts commit 7bb46121
2022-02-16 08:27:46 +00:00
Alexander Likhachev aba495f63c [Gradle] Remove deprecated experimental annotation methods & properties
#KT-47763 Fixed
2022-02-16 08:27:46 +00:00