Commit Graph

86864 Commits

Author SHA1 Message Date
Ivan Kylchik 2bea77d4e2 [JS TESTS] Replace - symbol in module name with _ 2021-10-25 00:14:19 +03:00
Ivan Kylchik 3cbeb08f79 [JS TESTS] Drop unused additionalCommonFileDirectories property 2021-10-25 00:14:19 +03:00
Ivan Kylchik 0d02b1d51c [TESTS] Remove ignore js backend directive from some tailRecursion tests
These tests were falling due to inserted diagnostics. New test
infrastructure can remove them before running test.
2021-10-25 00:14:19 +03:00
Ivan Kylchik f4bbcdc013 [TESTS] Move global directives outside file scope 2021-10-25 00:14:19 +03:00
Ivan Kylchik 596cbdfb71 [TESTS] Remove jvm specific annotations from coroutine helpers 2021-10-25 00:14:18 +03:00
Ivan Kylchik 410a6e7ef8 [TESTS] Change pattern for module name
For now, it is allowed to use any characters, except for round brackets
and new line.
2021-10-25 00:14:18 +03:00
Tianyu Geng 8bec5cec61 FIR LL: fix KtDeclarationAndFirDeclarationEqualityChecker
1. Nullable function type is not rendered correctly.
2. Bounds of type parameters are not considered during comparison, this
   would incorrectly treat different declarations as the same, for
   example
   ```
   fun <C: List<String>> C.foo() {}
   fun <C: Set<String>> C.foo() {}
   ```
2021-10-23 15:33:32 +02:00
Tianyu Geng f23256bf49 FIR: filter out builtin symbols in JvmClassFileBasedSymbolProvider
These symbols are already provided by FirBuiltinSymbolProvider.
2021-10-23 15:33:31 +02:00
Tianyu Geng 5a1680ca3b FIR LL: fix resolving proerties in library
Property can be overloaded with different extension receiver type.
2021-10-23 15:33:31 +02:00
Dmitry Petrov b03c9b6fc6 JVM_IR additional tests for indy lambda serialization 2021-10-23 11:21:27 +03:00
Dmitry Petrov 6e9cbf52b1 JVM_IR make $deserializeLambda$ method synthetic 2021-10-23 11:21:26 +03:00
Dmitry Petrov 1dbbe22c8c JVM_IR serializable indy method references 2021-10-23 11:21:25 +03:00
Dmitry Petrov eec16b83c6 Minor: reformat and fix warnings 2021-10-23 11:21:23 +03:00
Svyatoslav Kuzmich 4fc461a2ff [Wasm] Imporove external interface support
* Support boxing/unboxing when casting to Any
* Support ===, equals, hashCode, toString

* Support adapting String in interop boundary
2021-10-23 01:26:12 +03:00
Svyatoslav Kuzmich baa53b5cf3 [Wasm][Stdlib] Use array copy in String.toCharArray()
And don't use copy during internal non-mutating algorithms
2021-10-23 01:26:11 +03:00
Mikhail Glukhikh 79b98f9173 FIR: introduce synthetic property symbol hierarchy 2021-10-23 01:19:07 +03:00
Mikhail Glukhikh c673c4cc91 FIR: refactor/use properly FirAccessorSymbol & FirSyntheticPropertySymbol 2021-10-23 01:19:06 +03:00
Mikhail Glukhikh 41849c8beb FIR: get rid of effectively unused AccessorSymbol 2021-10-23 01:19:05 +03:00
Mikhail Glukhikh 7b9ac4c5f7 FIR: create constructors copies with correct containers in JvmMappedScope
#KT-49133 Fixed
2021-10-23 01:17:10 +03:00
Ilya Gorbunov a2b9c2bd78 Document Regex constructor using "u" flag in JS #KT-46694 2021-10-22 11:51:48 +00:00
Ilya Gorbunov 9456cd0f5d Improve Duration docs
- Document overflow situation in general
- Document possible rounding in operations involving Double
- Update kotlin.time package description
2021-10-22 11:51:48 +00:00
Alexander Likhachev e9c8135dfa [Gradle] Add Gradle & task property to set compiler execution strategy
#KT-49299 Fixed
2021-10-22 09:57:54 +00:00
Alexander Likhachev b4cb7f3610 [Gradle, JS] Make packageJsonHandlers compatible with configuration cache
#KT-49061 Fixed
2021-10-22 09:57:54 +00:00
Alexander Likhachev 6a6cc1db77 [Gradle, JS] Add custom package json into configuration cache IT
#KT-49061 In Progress
2021-10-22 09:57:53 +00:00
Alexander Likhachev 1160e3875a [Gradle] Declare kotlin.caching.enabled system property read
#KT-49107 Fixed
2021-10-22 09:57:53 +00:00
Alexander Likhachev f9d4e0639c [Gradle, JS] Reduce KotlinJsTest configuration cache footprint
#KT-49095 Fixed
2021-10-22 09:57:52 +00:00
Pavel Punegov 6ccfd974fa [K/N][build] Add comment, describing the copying of endorsed libs 2021-10-22 09:29:22 +00:00
Pavel Punegov 56d34bfd53 [K/N][build] KonanCacheTask: get rid of lateinit in input directory 2021-10-22 09:29:22 +00:00
Pavel Punegov a003d804d2 [K/N][build] Use Map for cached libraries 2021-10-22 09:29:21 +00:00
Pavel Punegov 567dac0719 [K/N][build] Small fixes to KonanCacheTask 2021-10-22 09:29:21 +00:00
Pavel Punegov ac5e818c26 [K/N][build] Put get to input annotations 2021-10-22 09:29:20 +00:00
Pavel Punegov 3183b7a499 [K/N][build] Fix endorsed libs dependencies 2021-10-22 09:29:20 +00:00
Pavel Punegov 42aa8b1337 [K/N][build] the field was protected but why 2021-10-22 09:29:19 +00:00
Pavel Punegov bc89921fdd [K/N][build] Fix cache location 2021-10-22 09:29:19 +00:00
Pavel Punegov 634812f96f [K/N][build] Split stdlib and endorsed libraries build and caching
Due to the usage of dist as an input and output at the same time by
different tasks Gradle issued warning about Execution optimizations
turning off. The fix is to split inputs and outputs in the build and
cache tasks of stdlib and endorsed libs.
2021-10-22 09:29:19 +00:00
Yahor Berdnikau ae2d447ef4 Update KGP tests readme.
Reflect actual test setup information.

^KT-45745 In Progress
2021-10-22 07:18:43 +00:00
Yahor Berdnikau 2b53965f11 Add tasks and annotations for Gradle/Jvm and Gradle/Js tests.
We will split our tests into supported platforms, like JVM, Js, etc...
Tests for supported Gradle features should be added per platform.

To run any test (except daemons) also "all" task was added.

^KT-45745 In Progress
2021-10-22 07:18:43 +00:00
Dmitry Petrov d5f6674d2d JVM_IR KT-49335 run RepeatedAnnotationLowering per module
Otherwise, we drop annotation constructors in AnnotationLowering,
which breaks RAL in case of annotation container declared in different
file.
2021-10-21 21:22:36 +03:00
Dmitriy Novozhilov a2b8493f47 [FE 1.0] Prohibit using non exhaustive if and when in rhs of elvis expression
^KT-44705
^KT-49349 Fixed
2021-10-21 19:39:51 +03:00
Dmitriy Novozhilov 06a26a5a74 [FE 1.0/FIR] Fix message of SEALED_SUPERTYPE_IN_LOCAL_CLASS diagnostic
^KT-46285 Fixed
2021-10-21 19:39:49 +03:00
Dmitriy Novozhilov 94664694df [FIR] Prohibit confusing syntax inside when branches
^KT-48385
2021-10-21 19:39:46 +03:00
Dmitriy Novozhilov bf453674b9 [FIR] Make LighterASTNode.getChildren utility return list of not null nodes 2021-10-21 19:39:42 +03:00
Dmitriy Novozhilov f52361ac2b [FE 1.0] Properly report NON_TRIVIAL_BOOLEAN_CONSTANT on parenthesized expressions
^KT-39883
2021-10-21 19:39:39 +03:00
Dmitriy Novozhilov 1513e739c6 [FE 1.0] Prohibit confusing syntax inside when branches
^KT-48385 Fixed
2021-10-21 19:39:36 +03:00
Pavel Kunyavskiy 653fc85461 [K/N] Move basic blocks with lazy init to middle of function
CoreSymbolication heuristics assume that last instruction in function
corresponds to last function line. This is not always true anyway,
but with this hack this will happen more often.
2021-10-21 12:18:40 +00:00
Pavel Kunyavskiy 6d3158b275 [K/N] Adjust addresses when passing to source line resolution 2021-10-21 12:18:39 +00:00
Ilya Goncharov f6ba2a958a [JS IR] No generate exportness for overridden properties
[JS IR] Add check on existence of overridden property in tests

^KT-49326 fixed

[JS IR] Add details to comment with exporting properties

^KT-49326 fixed

[JS IR] No generate exportness for overridden properties,

if only no override val -> var

^KT-49326 fixed

Merge-request: KT-MR-4810
2021-10-21 10:52:48 +00:00
Sergey Igushkin 8868738ac8 KT-48709: Fix CInterop configurations ambiguity with user variants
* Introduce a new org.gradle.usage value: kotlin-cinterop

* Add compatibility+disambiguation rules to ensure that kotlin-cinterop
  consumers can also fall back to ordinary (kotlin-api) published
  variants, but not vice versa

  * This ensures that ordinary kotlin-api consumers don't encounter
    equally-compatible candidates where one is the normal API elements
    and the other is C interop API elements

* Set org.gradle.usage = kotlin-cinterop in the C interop API elements
  configurations and dependency-consuming configurations

Issue #KT-48709
2021-10-21 10:17:52 +00:00
Sergey Igushkin a474e8a00b KT-49189: fix project(...) dependencies on MPP from pure-Java consumers
* Don't set the localToProject attribute anymore, as it prevents proper
  disambiguation if not set properly on all configurations, while all
  the intentionally-public configurations
  should already have the same value.

* Disambiguate o.j.k.platform.type Android vs JVM preferring JVM, as
  Android should have other attributes which make pure-Android consumers
  match the Android MPP variants.

* With Gradle 7.0+, set the attribute
  `org.gradle.api.attributes.java.TargetJvmEnvironment` on the JVM &
  Android elements configurations, which helps pure-Android consumers
  to match the Android, not JVM variants. This fixes KT-30961 for
  Gradle 7.0+ and AGP 7.0+

Issues: KT-49189, KT-30961
2021-10-21 10:17:52 +00:00
Yan Zhulanow f0e703e1ee [FIR IDE] Add artifacts with base components of Analysis API implementations 2021-10-21 18:05:01 +09:00