Commit Graph

92292 Commits

Author SHA1 Message Date
Victor Petukhov 095a5d1fdf [FIR] Get rid of unnecessary opt ins 2022-04-27 19:50:20 +00:00
Victor Petukhov 9885094472 [FIR] Don't turn constraint storage into FREEZED stage during resolution 2022-04-27 19:50:19 +00:00
Victor Petukhov e7bd464a3c [FE 1.0] Check if type variable is bounded in upper by incompatible types (resolution stage)
^KT-51221 Fixed
2022-04-27 19:50:19 +00:00
Victor Petukhov 9e9e0211eb [FE] Check if type variable is fixed into an empty intersection type and report resolution warnings/errors if needed (completion stage)
^KT-51221 Fixed
2022-04-27 19:50:18 +00:00
Victor Petukhov 8e834fc7bb [FIR] Move subtyping helpers into TypeUtils.kt 2022-04-27 19:50:17 +00:00
Hung Nguyen a7403fc615 [New IC] Remove "-dontwarn com.google.gson.**" from compiler.pro
This line was added in commit 8c611e0 to allow the
`incremental-compilation-impl` module to use Gson.

This module is no longer using Gson now (only used by its unit tests),
so we can revert that commit.

^KT-52141 Fixed
2022-04-27 15:26:27 +00:00
Hung Nguyen 9eb3c7ed76 [New IC] Optimize Java class snapshotting with ASM ClassWriter
To snapshot a Java class (+ its fields and methods), previously we used
Gson to serialize a class field/method to a string via reflection, and
hash that string.

We now use an ASM ClassWriter to write a placeholder class containing
the field/method of interest and hash the bytecode of that class.

One experiment showed that this new approach is ~10 times faster than
the previous approach (140s down to 16s when snapshotting 600 jars).

Test: Updated expectation files for JavaClassSnapshotterTest unit tests
      + Existing integration tests to prevent regression

^KT-52141 In Progress
2022-04-27 15:26:26 +00:00
Sergey Bogolepov 5a0c3920a5 [K/N] Properly support watchosArm64 2022-04-27 14:46:35 +00:00
Sergey Bogolepov 7401760d23 [K/N] Remove obsolete hack in ClangArgs
Fixes backend.native:tests for watchosArm64 target.
2022-04-27 14:46:34 +00:00
Yahor Berdnikau 0d38f293d5 Properly set jvmTarget from toolchain for KaptGenerateStubsTask
^KT-51415 Fixed
2022-04-27 14:01:05 +00:00
Alexander Shabalin 663e843544 [K/N] Refactor allocators ^KT-52130
Merge-request: KT-MR-6135
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-04-27 14:00:27 +00:00
nataliya.valtman a05bb3c77c Store module info under own module name for incremental compilation
#KT-51463 Fixed
2022-04-27 13:17:07 +00:00
Svyatoslav Scherbina 5fd468c066 Native: mention the way to suppress Xcode version check in the build
When building Kotlin/Native from sources on macOS, build scripts check
that installed Xcode has specific major version. It is possible to
suppress the version mismatch error (with caution), but the error
message didn't mention that.

Fix that by adding a hint to the error message.
2022-04-27 12:41:53 +00:00
Igor Chevdar 04ef856780 [IR] Replaced K/N findPackage with common getPackageFragment 2022-04-27 11:19:17 +00:00
Yahor Berdnikau 78b23eea10 Make deprecated 'classpath' input Kotlin/DSL user-friendly
This should simplify user migration.

^KT-52189 Fixed
2022-04-27 10:50:42 +00:00
Ilya Goncharov f95d1d89f1 Update qunit dependency for tests
Update qunit call

Update qunit dependency for tests

Merge-request: KT-MR-6169
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>
2022-04-27 10:32:28 +00:00
Artem Kobzar ccc2aae841 fix(KT-50270): inline properties accessor for child classes too. 2022-04-27 10:21:38 +00:00
Igor Laevsky 3de1235fda [WASM] Add command line option to enable/disable assertions 2022-04-26 20:41:52 +00:00
Nkolay Krasko c38985c93e Remove findShadowJarsInClasspath logic from the build 2022-04-26 19:47:23 +00:00
Nkolay Krasko 5f0fce115c Remove zipPlugin task as we don't have a plugin in the repository anymore 2022-04-26 19:47:23 +00:00
Nkolay Krasko b428b5c1b8 Remove kaptIdeTest, kaptTests task is used instead 2022-04-26 19:47:22 +00:00
Dmitriy Novozhilov 19f4c3edda [CLI] Report compilation error if compiler plugins are enabled alongside with K2 compiler
^KT-52037 Fixed
2022-04-26 21:03:04 +04:00
Dmitry Gridin e5bfb8295e [jps][tests] migrate from 1.6 to 1.8 jdk
^KTIJ-20456
2022-04-26 21:41:36 +07:00
Alexander Korepanov 7920b8302c [JS IR] Fix race condition of IC hash calculator
^KT-52154 Fixed
2022-04-26 11:30:00 +00:00
Dmitry Gridin 0be0627e34 [jps][tests] remove hardcoded js-ir-runtime path
^KTIJ-20456
2022-04-26 13:19:35 +07:00
Kristoffer Andersen 4f8ef8c315 [EE-IR] Support Local Functions
This commit introduces support for calling and referencing local functions and
objects in evaluate expression on the IR backend.

The primary incision is a lowering inserted after Local Declaration Lowering,
that uses the intermediate data structures recorded by LDL to rewrite calls to
local functions to the appropriate function in the binary, instead of predicting
the compilation strategy. The required changes to the rest of the pipeline
facilitate piping the required data around.

The key to this transformation is that _captures by the local function_ must be
introduced as _captures by the fragment function_, such that the evaluator
infrastructure can find the appropriate values at run-time. This is necessary
due to the strategy of compiling local functions to static functions instead of
closures.

Additional test coverage of stepping behavior support the corresponding changes
in the Evaluator, part of the Kotlin Debugger plug-in.
2022-04-25 16:59:04 +03:00
Yahor Berdnikau 5af9303a16 Add Kvision project to build regression benchmarks
This project covers Kotlin/JS build performance

^KT-51380 Fixed
2022-04-25 14:08:24 +02:00
Yahor Berdnikau ce0116e1f2 Color percents
Depending on the percent color it to highlight problematic place

^KT-51360 Fixed
2022-04-25 14:08:24 +02:00
Yahor Berdnikau fbc3608959 Show difference in percent
For configuration and execution phases from previous stable release

^KT-51360 In Progress
2022-04-25 14:08:23 +02:00
Yahor Berdnikau c890e42ae6 Increase cell limit for benchmark result html
^KT-51360 In Progress
2022-04-25 14:08:23 +02:00
Yahor Berdnikau 375eff4993 Update kotlin-dataframe to 0.8.0-dev-952
This version contains fix for https://github.com/Kotlin/dataframe/issues/101

^KT-51360 In Progress
2022-04-25 14:08:23 +02:00
Yahor Berdnikau 67093b49ac Bump Gradle profiler version to 0.18.0
^KT-51360 In Progress
2022-04-25 14:08:23 +02:00
Yahor Berdnikau 198c215c75 Update duckduckgo project for regression benchmarks.
Build with Kotlin 1.7.0 is broken due to Anvil dependency doesn't have
Kotlin 1.7.0 supported release.
2022-04-25 14:08:23 +02:00
Yahor Berdnikau 9c00787641 Update graphql-kotlin project for regression benchmarks 2022-04-25 14:08:23 +02:00
Ilya Kirillov 34c855b450 [decompiler] add missing cache to annotation loader
it was missed during moving the code from intellij repository

^KTIJ-21613 fixed
2022-04-25 10:32:02 +02:00
Jason Parachoniak df71cebf34 Fixed malformed utf8 string.
Replacing: byte sequence "040 251 040" with "040 302 251 040" properly
escaping the © symbol.
2022-04-25 10:28:49 +03:00
Zalim Bashorov 56d0255a8a [JS] Update nodejs to latest LTS version (16.14.2)
Also, remove verification metadata for older versions.
2022-04-23 17:58:42 +02:00
Zalim Bashorov 90c867ae1d [JS] Define Node.js version in one place and use a single version everywhere
Consequently, it fixes the inability to run some JS related tests on Apple devices with ARM.
2022-04-23 17:58:42 +02:00
Zalim Bashorov 64bcd8c91e [JS, atomicfu] Stop applying unused node plugin 2022-04-23 14:06:24 +02:00
Zalim Bashorov 2ed3349f7b [JS] Support downloading v8 for mac-arm64 2022-04-23 14:06:24 +02:00
Jinseong Jeon af21b67eb5 LL: cache reverse converted constant expression 2022-04-22 18:55:31 +02:00
Jinseong Jeon 7e8c893ce1 LL: showcase converted constants in raw FIR 2022-04-22 18:55:30 +02:00
Jinseong Jeon 61cca31b6b AA: special handling for converted constants 2022-04-22 18:55:30 +02:00
Jinseong Jeon faf6939515 AA: showcase strange const evaluation for -1 2022-04-22 18:55:30 +02:00
Stanislav Erokhin 249dc1e1d2 Fix potential AbstractMethodError on KotlinJvmBinaryClass.getContainingLibrary()
Compiler supposed to generate such method inside the
LocalFileKotlinClass class, but because of the KT-18489 method
getContainingLibrary is not generated. Because of that we potentially
could get AbstractMethodError. In order to fix that we are adding
explicit ovverride in java super class
2022-04-22 16:21:10 +00:00
Ilya Chernikov 352fa7540c Fix versions in poms, etc, unmute and fix appropriate test 2022-04-22 15:04:26 +02:00
Alexander Udalov 24f3c7dc7d Psi2Ir: fix usage of flexible vararg type after approximation
This only affects JVM IR, and this is similar to how this was done in
the old JVM backend in `CallBasedArgumentGenerator.generateVararg`.

 #KT-52146 Fixed
2022-04-22 14:15:28 +02:00
Yahor Berdnikau 5450367e39 Flip Gradle plugin kotlin_module names
Now common SourceSet output will have '_common' suffix, while all
variants will have the same name - '<module-name>.kotlin_module'.

This change is required for KSP as short-term workaround, as they
are using some internal properties/methods, which was mangled before
this change and hard to access in different variants.

^KT-52138 Fixed
2022-04-22 10:54:46 +00:00
sebastian.sellmair 204bc4ca95 [Commonizer] Provide union of forwardDeclarations as common dependencies
^KT-52050 Verification Pending

The issue described in KT-52050 happened, because forwardDeclarations
were not carried into next commonization steps. For commonization
it is fair to choose the union of all modules forwardDeclarations
as common dependency (instead of a union), since we can assume that
all those forward declarations will be provided.
2022-04-22 08:47:39 +00:00
sebastian.sellmair 99d995a313 [Commonizer] Implement integration test for KT-52050
The test project will be compiled and proves that
'platform.posix.DIR' retains it's 'CPointed' supertype.

The test is expected to fail on platforms that do not support
macos (windows and linux), since the issue seems to be caused
by optimistic, single platform propagation.
2022-04-22 08:47:36 +00:00