Commit Graph

87184 Commits

Author SHA1 Message Date
Ilya Goncharov 42e8017cc7 [JS IR] Revert removing of safeProperty(Get|Set) 2021-09-24 07:07:12 +00:00
Ilya Goncharov 064744fae7 [JS IR] Remove redundant legacy property access property 2021-09-24 07:07:12 +00:00
sebastian.sellmair 440856f593 [Gradle] [MPP] Add TODO comment for post-commit review ^KT-48885
^KT-46273
2021-09-23 18:48:52 +00:00
sebastian.sellmair 70fde9700f [Gradle] [MPP] Add further explicit check for orphan source sets
^KT-46273 Verification Pending
2021-09-23 18:48:52 +00:00
sebastian.sellmair da361a030e [Gradle] [MPP] Fix 'getDependenciesTransformation' for ^KT-46273
This setup requires a 'jvm like' target and an orphan source set, which
depends on 'commonTest'. This orphan will not participate in any
compilation and therefore will not have any platform.

The code expected at least one test task for this source set
and therefore at least one test framework.

^KT-46273 Verification Pending
2021-09-23 18:48:51 +00:00
Ilya Gorbunov 1960fe65b8 Minor: more reliable empty range check in RangeIterationTest 2021-09-23 21:06:35 +03:00
Ilya Gorbunov 0fb25ccc2b Minor: update copyright year in Native stdlib generated sources 2021-09-23 21:06:17 +03:00
Ilya Gorbunov b9f78d002a Do not duplicate Range/Progression sources in Native runtime 2021-09-23 21:06:17 +03:00
Denis.Zharkov 586dcae141 FIR: Avoid loading symbols when mapping Java type arguments 2021-09-23 16:58:26 +03:00
Denis.Zharkov 38fa900e56 FIR: Optimize case with no annotations on package 2021-09-23 16:58:26 +03:00
Denis.Zharkov 37785eb244 FIR: Rename KotlinDeserializedJvmSymbolsProvider -> JvmClassFileBasedSymbolProvider 2021-09-23 16:58:25 +03:00
Denis.Zharkov 0aa8181960 FIR: Rename AbstractFirDeserializedSymbolsProvider -> AbstractFirDeserializedSymbolProvider 2021-09-23 16:58:25 +03:00
Denis.Zharkov 54a97a860a FIR: Minor. Rename JavaClassConverter -> FirJavaFacade 2021-09-23 16:58:24 +03:00
Denis.Zharkov 9902d36d57 FIR: Minor. Rename 2021-09-23 16:58:24 +03:00
Denis.Zharkov 1fc2f13a35 FIR: Pull creation of JavaClassConverter to session factory 2021-09-23 16:58:22 +03:00
Vyacheslav Gerasimov b6e3399cbd Build: Add missing verification metadata for httpcore 4.2.1
We apply prepareSonatypeStaging.gradle conditionally which brings some
additional dependencies only during release publishing to maven central

 #KTI-650

(cherry picked from commit 3f1c3ea6707210c2bcc0d9209682e45a6efceef3)
2021-09-23 15:10:50 +02:00
Alexander Shabalin da25e1bf21 [K/N] Enable a missing test 2021-09-23 12:57:29 +00:00
Hung Nguyen aea693e309 KT-45777: Ignore faulty groovy-2.5.11 jar
Test: The following should pass
    - Step 1: ./gradlew publish
    - Step 2: ./gradlew publish compileTestKotlin -Pbootstrap.local=true
        -Pbootstrap.local.path=/path/to/kotlin/build/repo
        -Pkotlin.incremental.useClasspathSnapshot=true
2021-09-23 12:51:06 +03:00
Hung Nguyen a6d0fcc676 KT-45777: Support compile avoidance
Test: Updated existing incremental compilation integration tests
2021-09-23 12:51:03 +03:00
Hung Nguyen f400305cc6 KT-45777: Handle problematic classes when taking snapshots
There are certain classes that we are not yet able to take snapshots of,
either because the class is faulty, or there is a bug in our code.

For these classes, we will use a special snapshot and fall back to the
existing approach to compute classpath changes.

In the short run, we will update this list of cases as they arise. In
the long run, we will:
  - Fix all cases that are caused by bugs in our code.
  - Decide what to with the faulty jars in general and remove the list.

Test: The following should pass
  - Step 1: ./gradlew publish
  - Step 2: ./gradlew publish -Pbootstrap.local=true
              -Pbootstrap.local.path=/path/to/kotlin/build/repo
              -Pkotlin.incremental.useClasspathSnapshot=true
2021-09-23 12:47:51 +03:00
Pavel Kunyavskiy fb875c484d [K/N] Implement instantiating of annotation class 2021-09-23 06:59:34 +00:00
Pavel Kunyavskiy a40022efcd Generate IR for annotation class constructors. 2021-09-23 06:59:33 +00:00
Pavel Kunyavskiy 773c82ae48 Refactor AnnotationImplementationLowering
- Replaced UNDEFINED_OFFSET with SYNTHETIC_OFFSET, it's required by
  Native backend codegen
- Fixed missing overridden symbols
- Enforce adding fakeoverrides for members not overridden by backend
- Support more points for platform customisation
2021-09-23 06:59:32 +00:00
Jinseong Jeon d9424fa092 FIR IDE/LC: rename origin of constant values 2021-09-23 00:11:26 +02:00
Jinseong Jeon d3d3aeacb4 FIR IDE: make compile-time constant evaluator an object
because it doesn't have any states.
2021-09-23 00:11:26 +02:00
Jinseong Jeon 414881403b FIR IDE: handle annotation array values properly 2021-09-23 00:11:26 +02:00
Jinseong Jeon ffd0a5ed14 FIR IDE: make constant values symbol-free 2021-09-23 00:11:26 +02:00
Jinseong Jeon f94dad7005 FIR IDE: migrate annotation parameter conversion util 2021-09-23 00:11:26 +02:00
Jinseong Jeon 0f16a2cb92 FIR IDE: rename some of constant values for consistency 2021-09-23 00:11:25 +02:00
Jinseong Jeon ce445700b8 FIR IDE: split conversion utils for KtConstantValue to its own object 2021-09-23 00:11:25 +02:00
Jinseong Jeon 4c8d975ae5 FIR LC: handle more kinds of annotation values 2021-09-23 00:11:25 +02:00
Jinseong Jeon 6ef2dad895 FIR IDE: more comprehensive abstractions of annotation values 2021-09-23 00:11:25 +02:00
Jinseong Jeon fe41c4513f LC: weaken condition to lookup nested annotation
FIR LC has a different abstraction, so using the specific class name is
literally too specific to FE 1.0 LC.

We could introduce a common interface for those, but checking
`kotlinOrigin` is good enough, and thus type-checking their common
ancestor is good enough too.
2021-09-23 00:11:25 +02:00
Jinseong Jeon 744961bd00 FIR IDE: test resolution of various annotation values 2021-09-23 00:11:25 +02:00
Jinseong Jeon 150f066254 FIR LC: use property modifiers for backing field if lateinit 2021-09-23 00:11:25 +02:00
Svyatoslav Kuzmich a2bfcfeae8 [Wasm] Do not erase interfaces down to Any type in Wasm signature.
This enables overloading virtual methods with different interface types
2021-09-22 19:49:44 +03:00
Svyatoslav Kuzmich 6db7154876 [Wasm] Build bridges for non-virtual functions that implement interfaces 2021-09-22 19:49:43 +03:00
Steven Schäfer 1eb9a5a86d JVM IR: Don't generate bridges for default argument stubs (KT-46389) 2021-09-22 18:45:54 +02:00
Ilya Gorbunov 40b5a7d449 Provide infix compareTo extension for Comparable<T> #KT-46423 2021-09-22 15:56:27 +00:00
Tianyu Geng 44e0efc23c FIR: fix run config after Analysis API refactoring 2021-09-22 15:47:13 +02:00
Abduqodiri Qurbonzoda eccd035881 Upgrade kotlinx-html-js version to 0.6.12 in gradle plugin tests because of #KT-24782 2021-09-22 12:56:12 +00:00
Steven Schäfer cb46a56815 Parcelize: Support unsigned array types
See https://issuetracker.google.com/200774823
2021-09-22 13:42:04 +02:00
Steven Schäfer 2501013012 Parcelize: Support ShortArray
ShortArrays are broken in the Parcelize JVM backend, which caused a
frontend error on the JVM IR backend.
2021-09-22 13:42:04 +02:00
Leonid Startsev f033d3d5b7 Remove ignored dexing in tests after it was fixed
by rewriting IR codegen (https://github.com/JetBrains/kotlin/pull/3986/files#diff-9fe05d2f7c421d566cd1294a191d5a2e8f6e6f7a5f6b638542b79369caf91d4eR454)
2021-09-22 11:41:13 +00:00
Yahor Berdnikau 24d088242c Use JVM toolchain for buildSrc module.
Before this change buildSrc module was compiled with current user JDK.
For example on CI it is JDK 1.8. But when the user is using JDK
different from 1.8, buildSrc compilation misses remote build cache. This
may lead to full project recomplilation on the user side.
2021-09-22 11:35:07 +00:00
Ilya Kirillov d3dd9cd078 Analysis API: add KDoc to providers 2021-09-22 12:57:18 +02:00
Ilya Kirillov fb8044641b LL API: move DeclarationCopyBuilder out of public API 2021-09-22 12:57:16 +02:00
Ilya Kirillov 7c0a9230fd LL API: remove empty files 2021-09-22 12:57:16 +02:00
Ilya Kirillov 083dcc4ec6 Analysis API: refactoring, separate AbstractCompilerBasedTest.kt into multiple files 2021-09-22 12:57:15 +02:00
Ilya Kirillov 678b931ba3 Analysis API: introduce Project Structure 2021-09-22 12:57:14 +02:00