Commit Graph

63493 Commits

Author SHA1 Message Date
Ilya Goncharov 7fc74ff7bd [Gradle, JS] KT-37207 Correct path to dependency directory 2020-03-30 10:46:34 +03:00
Ilya Goncharov 6b035bcdc2 [Gradle, JS] KT-37207 Move File prefix to NpmDependency.kt 2020-03-30 10:46:34 +03:00
Ilya Goncharov 4d107751d7 [Gradle, JS] KT-37207 Fix of test 2020-03-30 10:46:34 +03:00
Ilya Goncharov 8cefa09528 [Gradle, JS] KT-37207 Add possibility to add npm dependency to directory 2020-03-30 10:46:33 +03:00
Ilya Goncharov ee941a3e77 [Gradle, JS] KT-37207 Add test 2020-03-30 10:46:33 +03:00
Ilya Goncharov ab56ec7481 [Gradle, JS] Use standard instance filtering 2020-03-30 10:35:15 +03:00
Ilya Goncharov bc22489aab [Gradle, JS] Fix link task options for IR tooling 2020-03-30 10:35:15 +03:00
Vladimir Dolzhenko f011d2794a Fix freeze on configure kotlin for the project
#KT-30541 Fixed
#KT-36289 Fixed
2020-03-30 07:17:52 +00:00
Ilya Gorbunov 2c69d82916 Update directory-maven-plugin to the latest version: 0.3.1
This fixes problem with incorrect highest-basedir detection.
2020-03-30 07:44:06 +03:00
Dmitriy Dolovov 9bbfe9c1ac Rename: KonanPlatform, KonanPlatforms -> NativePlatform, NativePlatforms 2020-03-29 23:20:52 +07:00
Dmitriy Dolovov dfbbae3991 IDE, Common: Don't create KLIB metadata factories for each new KLIB 2020-03-29 23:20:46 +07:00
Dmitriy Dolovov 5b9770a4dd IDE, JS: Don't create KLIB metadata factories for each new KLIB library 2020-03-29 23:20:41 +07:00
Dmitriy Dolovov cc6e4e5cfb IDE, Native: Don't produce CompositePackageFragmentProvider when unnecessary 2020-03-29 23:20:35 +07:00
Alexander Udalov 87da4be9bb Move parametersMap.kt to 'cli-common'
Also reformat and slightly refactor it. This allows to get rid of
dependency of 'util' on 'kotlin-reflect-api'.
2020-03-28 21:30:08 +01:00
Alexander Udalov 92534eadaa Remove dependency of 'resolution' on 'deserialization'
Replace it with a dependency on 'descriptors'.

Move the existing marker interface ContractProvider to 'descriptors',
and create a new marker interface DeserializedDescriptor.
2020-03-28 21:30:07 +01:00
Alexander Udalov b6fdc96994 Reverse dependency 'psi' <-> 'frontend.common'
Move ParseUtils to 'psi', and ImportPath to 'frontend.common'.

Now 'psi' depends on 'frontend.common', and that allows to remove
dependency of 'fir:tree:tree-generator' on 'psi', allowing the former to
compile in parallel with the old frontend code.
2020-03-28 21:30:07 +01:00
Alexander Udalov d70271b6aa Move RequireKotlinNames to 'descriptors'
Also move version string regex there and rename the class to
RequireKotlinConstants. This allows to get rid of dependency of
'serialization' on 'frontend'.
2020-03-28 21:30:07 +01:00
Alexander Udalov 844b0078ba Minor, remove unneeded dependency of 'js.parser' on 'util' 2020-03-28 21:30:06 +01:00
Alexander Udalov 9dd8b1821a Move CoroutineLanguageVersionSettingsUtil to 'config'
This allows to get rid of dependency of 'util' on 'descriptors'.
2020-03-28 21:30:06 +01:00
Alexander Udalov db9347cb56 Move JVM-specific analysis flags to 'config.jvm' 2020-03-28 21:30:06 +01:00
Alexander Udalov 7bb77e5672 Move JS binary version utilities to 'js.config'
This allows to replace dependency of 'util' on 'deserialization' with
dependency on 'descriptors'.
2020-03-28 21:30:06 +01:00
Alexander Udalov fe5104b865 Move package org.jetbrains.kotlin.incremental.js to 'js.config'
This allows to replace dependency on 'js.frontend' with 'js.config', in
'kotlin-build-common' and 'daemon-common'. Also simplify some other
dependencies.
2020-03-28 21:30:05 +01:00
Alexander Udalov 4dcd0d1cb6 Extract module 'config' out of 'frontend'
Also move deprecated TargetPlatform there. This allows to get rid of the
dependency cli.common -> frontend, and even on frontend.common.
2020-03-28 21:30:05 +01:00
Alexander Udalov 143aef938b Extract module 'js.config' out of 'js.frontend'
This allows to get rid of dependency cli.common -> js.frontend.
2020-03-28 21:30:05 +01:00
Alexander Udalov 15d2a06132 Extract module 'config.jvm' out of 'frontend.java'
This allows to get rid of dependency cli.common -> frontend.java.
2020-03-28 21:30:04 +01:00
Alexander Udalov 90ae416b72 Minor, move KotlinTypeRefinerImpl out of 'config' package 2020-03-28 21:30:04 +01:00
Alexander Udalov 4aa47be202 Move CommonResolverForModuleFactory to 'frontend'
This will allow to get rid of dependency of 'cli-common' on 'frontend'.
2020-03-28 21:30:04 +01:00
Alexander Udalov 9e014e462b Do not use CommonPlatforms directly in CommonResolverForModuleFactory
This allows to get rid of dependency of this code on CommonPlatforms,
which depends on all platforms (JVM, JS, Native), and eventually move it
to 'frontend'.
2020-03-28 21:30:03 +01:00
Alexander Udalov 8dd04789ad Remove obsolete InlineStrategy
Replace corresponding metadata property in js.ast with Boolean. This
allows to get rid of dependency of 'js.ast' on 'frontend'.
2020-03-28 21:30:03 +01:00
Alexander Udalov 4156a9c80b Extract javac-wrapper into a separate module
It was actually a separate module before the grand build refactoring in
61dfb75e0e.
2020-03-28 21:30:03 +01:00
Alexander Udalov aad7354a3b Minor, remove obsolete jvmTarget modifications in compiler modules
Default JVM target (as well as JDK home) is set to 1.8 for all Gradle
projects in build.gradle.kts:352.
2020-03-28 21:30:03 +01:00
Victor Turansky f403a0da82 README Update IDEA plugin dist path 2020-03-28 18:52:41 +03:00
Igor Chevdar d808ef10b2 Added some tests on local classes in inline bodies 2020-03-28 15:26:19 +03:00
Igor Chevdar e2a378bed7 [JS_IR] More subtle local classes copying in inliner 2020-03-28 15:26:19 +03:00
Igor Chevdar 90abf1fda0 [JS_IR] Don't capture the bound receiver of a CR 2020-03-28 15:26:19 +03:00
Igor Chevdar 643e581448 [IR] Supported extraction of local classes from inline bodies
The mental model for inline functions/lambdas is as following:
inline functions have the `inline` keyword before them so it makes sense
for their bodies to be copied at call sites although the compiler might optimize
that if there is no usage of reified type parameters or crossinline value parameters.
But since there is no `inline` keyword around an inline lambda, then
it is logical to think that there will be no copy of it and that it will be just embedded
at the corresponding call site as is.
2020-03-28 15:26:19 +03:00
Igor Chevdar 7a48c3a945 [IR] Made currentDeclarationParent nullable 2020-03-28 15:26:19 +03:00
Toshiaki Kameyama 09304bbd54 ConvertToAnonymousObjectFix: do not suggest when there is no lambda
#KT-31912 Fixed
2020-03-28 14:13:19 +03:00
Ilya Kirillov d3c54f664b Wizard: fix 191 tests 2020-03-28 01:14:58 +03:00
Ilya Gorbunov 8447701d74 Use stable order and constant timestamps in merged sources jar
To avoid up-to-date fights between several kotlin working copies.
2020-03-27 19:45:11 +03:00
Dmitry Petrov 042424d599 KT-27524 Don't box (some) inline classes in suspend fun return
If an inline class is mapped to a reference type (or an array), it's Ok
to treat JVM view on a suspend function as returning a value of
corresponding inline class (although in reality it returns 'Any?'
because of COROUTINE_SUSPENDED).
2020-03-27 18:29:36 +03:00
Mikhail Glukhikh d8bc29e6c6 [FIR] Eliminate obsolete NO_SUPERTYPE diagnostic from builder 2020-03-27 18:24:50 +03:00
Nick b38d30bab0 [FIR] Support several super-related diagnostics 2020-03-27 18:24:50 +03:00
Mads Ager 5570a5fe74 [JVM_IR] Use iinc for incrementing Int variables.
Fix line number generation for assignments where the right-hand
side of the assignment is not on the same line.

Fix line number generation for intrinsics functions where the
function is not on the same line as the last argument.

Be careful to not break stepping behavior with the iinc
optimizations.
2020-03-27 18:17:53 +03:00
Steven Schäfer 58685be4e2 IR: Don't use IrStringConcatenation for ordinary toString calls
We can only use IrStrinConcatentation to represent calls to Any?.toString
and toString calls on primitive types. Otherwise, x.toString() and "$x"
are observably different when x is a non-null type with null value
(e.g., an @NotNull value coming from Java).
2020-03-27 17:31:48 +03:00
Mikhail Glukhikh c1b9fdd2f3 Fix diagnostic test data to be consistent with FIR test data 2020-03-27 16:46:59 +03:00
Mikhail Glukhikh c518868c03 Disable UnusedMainParameterInspection by default 2020-03-27 16:46:59 +03:00
Mikhail Glukhikh 7bfd354a77 Don't report UNUSED_PARAMETER in main from object #KT-37718 Fixed 2020-03-27 16:46:59 +03:00
Mikhail Glukhikh cec0f58544 [FIR] Introduce & use toFirLightSourceElement 2020-03-27 16:46:59 +03:00
Mikhail Glukhikh 6a5acc024a [FIR] Rename PSI version of toFirSourceElement 2020-03-27 16:46:59 +03:00