Commit Graph

63359 Commits

Author SHA1 Message Date
simon.ogorodnik 29dc45fb66 [FIR] Enable property delegate rendering in html dump 2020-03-24 18:58:17 +03:00
simon.ogorodnik 762861a2e9 [FIR] Adjust abbreviated type rendering in Html dump 2020-03-24 18:58:17 +03:00
simon.ogorodnik 5a3eefcba1 [FIR] Fix suspend functional type deserialization 2020-03-24 18:58:17 +03:00
simon.ogorodnik 4fac6d8fb5 [FIR] Fix abbreviated type deserialization 2020-03-24 18:58:17 +03:00
simon.ogorodnik 2ce697b0b2 [FIR] Resolve type parameter bounds in local class members 2020-03-24 18:58:17 +03:00
simon.ogorodnik ae54815132 [FIR] Fix varargs of unsigned numbers 2020-03-24 18:58:17 +03:00
simon.ogorodnik de4666cf0e [FIR] Fix loading 'is instance' contracts 2020-03-24 18:58:17 +03:00
Ilya Goncharov 4da31f1948 [Gradle, JS] Fix cast
#KT-32017 fixed
2020-03-24 17:43:37 +03:00
Ilya Goncharov 5492a93229 [Gradle, JS] Module name for js
#KT-32017 fixed
2020-03-24 17:43:37 +03:00
Ilya Goncharov 19afcd7b6b [Gradle, JS] Introduce semver satisfying for comparison with wildcard 2020-03-24 17:38:17 +03:00
Vladimir Dolzhenko 5441685cb4 Provide idea.platform.prefix in run configurations for 201+ 2020-03-24 14:26:35 +00:00
Ilya Goncharov eabd8cfb5f [Gradle, JS] KT-37587 Dynamic resolve of karma.config.d 2020-03-24 17:05:16 +03:00
Pavel Kirpichenkov adf3351a8b [NI] Don't skip constraints with projections during variable fixation
Those constraints are only restored for variable fixation stage because of the
influence on pefrormance.

^KT-37650 Fixed
^KT-37380 Fixed
2020-03-24 16:13:49 +03:00
Victor Turansky 1f6834538b KT-37587 Karma. Revert input check for 'webpack.config.d' directory 2020-03-24 15:52:52 +03:00
Victor Turansky 4cd4dfee25 KT-37587 Karma. Support dynamically created webpack configs 2020-03-24 15:52:52 +03:00
Ilya Goncharov 7736e5f4a7 [Gradle, JS] Run tasks for legacy target 2020-03-24 15:42:07 +03:00
Roman Golyshev 85bfbaa8a8 Check if returned typeParameters are null
- See EA-141456, EA-212070
2020-03-24 15:23:34 +03:00
Ilya Matveev 4171dd511f Gradle, native: Fix generating platform libs for Windows 2020-03-24 18:54:12 +07:00
Ilya Matveev 6c146f6448 Update K/N version: 1.4-M2-dev-14898 2020-03-24 18:54:12 +07:00
Ilya Matveev 38b5414f30 Gradle, native: Actualize stacktrace format in tests 2020-03-24 18:54:12 +07:00
Ilya Matveev a51230d307 Gradle, native: Support reinstalling K/N compiler
Sometimes a user may need to invalidate all precompiled
caches and regenerate all platform libraries. For example
this may be necessary after updating Xcode since platform
libraries are generated on basis of Xcode frameworks.

This patch provides a simple setting allowing a user
to manually reinstall a K/N compiler.
2020-03-24 18:54:11 +07:00
Ilya Matveev 27f5c577c9 Gradle, native: Generate platform libraries at the user side
Since 1.4, a regular K/N distribution will not contain prebuilt
platform libraries, so the libraries must be generated at the
user side.

This patch adds support for such generation to the MPP Gradle
plugin. The generation itself is performed by separate utility
provided by the K/N compiler distribution. The plugin checks
existence of platform libraries for required targets and starts
this utility if some some of these libraries are missing. Building
caches for platform libraries is also performed at this step.

The patch also adds some project properties allowing a user to
workaround potential problems. User will be able to:
  - Use a special distribution with prebuilt platform libraries.
  - Force building platform libraries in the good old sourcecode mode
    in case of some issues with the new metadata mode.

Kotlin/Native counterpart: https://github.com/JetBrains/kotlin-native/pull/3829.

Issue #KT-32931 Fixed
2020-03-24 18:54:11 +07:00
Mikhail Bogdanov 64a4d09bb3 Add basic synchronization workaround for scratch 2020-03-24 10:58:58 +01:00
Pavel Kirpichenkov dc18c62dbc [NI] Filter out type variable from its dependencies
Don't take into account complex variable dependency on itself when determining fixation status.
^KT-37621 Fixed
2020-03-24 12:49:18 +03:00
Dmitry Gridin 7f6124254f Remove redundant plugin-common.xml.191 2020-03-24 09:35:12 +00:00
Dmitry Gridin 32dba0afa2 Move implementation of runForWholeFile field to xml 2020-03-24 09:35:11 +00:00
Dmitry Gridin f92936ae12 AbstractKotlinInspection: fix suppressor
#KT-37576 Fixed
2020-03-24 09:35:10 +00:00
Dmitry Gridin eaa21f86c4 QuickFixTest: all inspections should be initialized from EP 2020-03-24 09:35:10 +00:00
Dmitry Gridin 84c9929935 i18n: NativeDefinitions: remove redundant bundle
#KT-37483
2020-03-24 16:18:05 +07:00
Mikhail Glukhikh 03143bc788 [FIR2IR] Implement mapping of FIR & IR built-in class members 2020-03-24 12:15:18 +03:00
Dmitry Petrov afacb4b4b2 KT-37604 Use proper type when generating constructor call 2020-03-24 11:31:47 +03:00
Victor Turansky 95857c5af4 KT-34468 Yarn. Add entry registry 2020-03-24 11:28:02 +03:00
Victor Turansky 35e3691d6c KT-34468 Yarn. Lock file check at the beginning 2020-03-24 11:28:02 +03:00
Victor Turansky 8cd23dfc9a KT-34468 Yarn. Remove redundant collection creation 2020-03-24 11:28:02 +03:00
Victor Turansky 21cd5086ed KT-34468 Yarn. Named parameters for NpmDependency 2020-03-24 11:28:02 +03:00
Victor Turansky 6931b37a79 KT-34468 Yarn. Dependency search key calculated once 2020-03-24 11:28:02 +03:00
Victor Turansky 0d1bf66c2a KT-34468 Yarn. Star version support fix 2020-03-24 11:28:02 +03:00
Victor Turansky d494881cb9 KT-34468 Yarn. Dependency check at the beginning 2020-03-24 11:28:02 +03:00
Victor Turansky c2b3dd8b33 KT-34468 Yarn. Support dependency GitHub version 2020-03-24 11:28:02 +03:00
Dmitry Gridin afb8ff1dd5 i18n: NativeDefinitions: add getter to property
#KT-37483
2020-03-24 15:25:53 +07:00
Mikhail Zarechenskiy ec4d9d2f1f [NI] Prefer between two complex variables one with proper lower bounds
This reverts commit d4d35bb766.
2020-03-24 11:13:55 +03:00
Mikhail Glukhikh a4c7619c89 [FIR2IR] Introduce & use FirBuiltInsPackageFragment
Without this commit, JVM name mapping logic in BE does not work for FIR,
because FIR cannot use old BuiltInsPackageFragmentImpl descriptor.
In this commit we add our own implementation thus fixing
a pack of FIR black box tests.
2020-03-24 10:37:53 +03:00
Dmitriy Dolovov 01558f48ae KLIB: Clean-up AbstractKlibLibraryInfo API 2020-03-24 13:37:51 +07:00
Dmitriy Dolovov c9245ef497 IDE: Port JS to use the same KLIB utilities as Native & Common 2020-03-24 13:37:38 +07:00
Dmitriy Dolovov e81479e30b KLIB: Avoid check for KLIBs w/o components for other platforms than Native 2020-03-24 13:37:26 +07:00
Sergey Igushkin ad1a1ac49a Fix failures when a common source set compiled to nothing (KT-36674)
This could happen:
* when a common source set had no sources
* when the compile task of a common source set was disabled

In those cases, there were two subsequent failures:
* the metadata JAR could not interpret the missing klib file as ZIP
* the consumer could not read the empty klib in its dependencies

Issue #KT-36674 Fixed
2020-03-24 01:48:34 +03:00
Sergey Igushkin 066d413fb8 Add a test for host-specific metadata publishing and consumption 2020-03-24 01:48:34 +03:00
Sergey Igushkin 2478a57646 Rework source sets metadata consumption
* Add `ResolvedMppVariantsProvider` that provides variant names,
  platform artifacts, and metadata artifacts for MPP dependencies

* Rework SourceSetVisibilityProvider.kt so that it uses the
  `ResolvedMppVariantsProvider` to determine which source sets should be
  read from which metadata artifacts

* Rework `GranularMetadataTransformation` and its consumers so that:

  * it uses the
    visibility result and extracts the source set metadata from the
    host-specific artifacts whenever `SourceSetsVisibilityProvider`
    yields host-specific artifacts in the visibility results

  * it uses the new Gradle API for resolutionResults / artifactView

* Rework module IDs in the code base, unify the logic of their
  construction, also fix possible false-positive visibility in
  `applyToConfiguration` that used a module ID that mismatched the
  published module ID.
2020-03-24 01:48:33 +03:00
Sergey Igushkin 33ef4452b7 Always create shared-Native metadata compilations
Create the compilations even when all of the targets that the
shared-Native source set is compiled for are disabled on the current
host. In that case, disable the compilation task

Also clear the inputs of the disabled tasks so that when Gradle builds
the task graph it doesn't resolve the dependencies.

Otherwise, a Gradle build that includes the compile tasks of the
disabled targets in the task graph would fail as follows, e.g. on a
macOS host with a project containing a mingw target):

```
Could not determine the dependencies of task ':compileKotlinMingwX86'
...
Could not resolve all task dependencies for configuration
':mingwX86CompileKlibraries'
...
Could not find com.example:my-dependency-mingwx86:1.0
...
2020-03-24 01:48:33 +03:00
Sergey Igushkin 593869aa37 Fix incorrect unchecked cast in kotlin.metadata()
It was broken once the metadata target got K/N compilations along with
K2Metadata compilations.
2020-03-24 01:48:33 +03:00