Commit Graph

82581 Commits

Author SHA1 Message Date
Ilya Goncharov f2a067eda0 [Gradle, JS] In KotlinWebpack configDirectory as getter not lazy
It is useful to dynamically creating config directory during build execution

^KT-46976 fixed
2021-05-27 14:07:04 +03:00
Viacheslav Kormushkin 3709616baa Fixed failing cocoapods integration test 2021-05-27 10:47:45 +00:00
pyos 34878d17eb JVM: be more careful when removing unused constants
1. if an argument of a `pop` cannot be removed, then all other potential
   arguments of that `pop` can't be removed either, and the same applies
   to other `pop`s that touch them;
2. the same is true for primitive conversions, but this is even trickier
   to implement correctly, so I simply did the same thing as with
   boxing operators: replace the conversion itself with a `pop` and keep
   the argument as-is.

Somehow this actually removes *more* redundant primitive type conversions
than the old code in a couple bytecode text tests, so I've patched them
to kind of use the value, forcing the instructions to stay.

 #KT-46921 Fixed
2021-05-27 12:24:22 +02:00
pyos 2f60ce21a0 JVM: remove CHECKCAST handling from PopBackwardPropagationTransformer
Redundant CHECKCASTs should've been removed by a previous pass.
2021-05-27 12:24:22 +02:00
pyos 535934dc28 JVM: do not remove NOPs in PopBackwardPropagationTransformer
There is a pass that removes NOPs and runs afterwards anyway.
2021-05-27 12:24:22 +02:00
Aleksei.Cherepanov 5f4be07225 [JPS] Fix JS incremental compilation
Disable Idea JPS build mechanism for marking all sources of common output if one of them is dirty
Add source-to-outputs map for correctly removing Kotlin/JS outputs

#KT-45763 Fixed
#KT-44351 Fixed
2021-05-27 13:00:56 +03:00
Andrey Zinovyev c2389a94fa [FIR] Resolve annotations in when expressions 2021-05-27 12:41:16 +03:00
Sergey Bogolepov b541721a79 Deprecate Architecture.bitness property
There is no such thing as "bitness" of CPU achitecture.
Something more appropriate and correct (e.g. ABI) should be
introduced instead.
2021-05-27 10:09:25 +03:00
Sergey Bogolepov bed42e9ab2 Revert "Drop useless bitness property from Architecture"
As it turn outs, `Architecture.bitness` leaks to public Gradle API and
we need to deprecate it gracefully.
This reverts commit 79bf2a1f.
2021-05-27 10:09:24 +03:00
sebastian.sellmair 14eca72913 Implement 'CommonizerTarget.fileName' and limit fileName length
^KT-46856 Fixed
2021-05-27 06:48:34 +00:00
sebastian.sellmair 0749443f7e Implement CommonizerIT.test KT-46856 filename too long - all native targets configured
Covers ^KT-46856
2021-05-27 06:48:33 +00:00
Abduqodiri Qurbonzoda 54994a289f Support all digit chars on JS and Native #KT-46002 2021-05-27 06:56:52 +03:00
Anton Lakotka 8481f4a9d2 Set kotlin-project-model as api dependency for kotlin-gradle-plugin-api
LanguageSettingsBuilder depends on LanguageSetting interface from KPM
which forces api dependency scope

^KT-46517 Fixed
2021-05-26 18:11:39 +00:00
Anton Lakotka 3e2b8a8898 Test Gradle buildSrc with kotlin-gradle-plugin-api dependency
For ^KT-46517
2021-05-26 18:11:39 +00:00
Anton Bannykh b3bb033fe4 JS IR: fix plain module reference 2021-05-26 17:53:21 +03:00
Dmitriy Novozhilov b63770bc7b Add workaround for KT-46902 2021-05-26 17:53:20 +03:00
Dmitriy Novozhilov 89e52cb780 Add workaround for KT-46900 2021-05-26 17:53:19 +03:00
Dmitriy Novozhilov 8eca31e867 Advance bootstrap to 1.5.30-dev-1023 2021-05-26 17:53:17 +03:00
pyos d37ceb47be JVM_IR: use correct dispatch receiver type in more references
#KT-46902 Fixed
2021-05-26 15:23:19 +02:00
Sergey Shanshin 16dbafced1 Add .serializer() to enum companion and object with custom serializer
Fixes Kotlin/kotlinx.serialization#1386
2021-05-26 16:07:59 +03:00
Igor Chevdar f431b4b171 [K/N][codegen] Escape analysis: increased a bit the number of iterations
This helps the algorithm to converge in more situations and increases
the number of stack allocated objects
2021-05-26 17:48:20 +05:00
Igor Chevdar 29584edcdd [K/N][codegen] Escape analysis: handled nulls more optimally
Helps with https://youtrack.jetbrains.com/issue/KT-44148
2021-05-26 17:46:22 +05:00
Igor Chevdar 426ac1281d [K/N][codegen] Removed square graph swelling during escape analysis
Helps with https://youtrack.jetbrains.com/issue/KT-44148
2021-05-26 17:46:15 +05:00
Konstantin Tskhovrebov 2129a762a5 Change assemble AppleFrameworkTask name to using framework name prefix
#KT-46892
2021-05-26 14:59:30 +03:00
Elena Lepilkina a006f35df3 [K/N][build] Removed extra konanVersion variable as far as it's now same as kotlinVersion 2021-05-26 11:49:49 +00:00
Tianyu Geng 61475c48e2 FIR: fix VALUE_ARGUMENTS position strategy 2021-05-26 14:46:18 +03:00
Margarita Bobova 3bd6bf1432 Add changelog for 1.5.10 2021-05-26 13:51:48 +03:00
Margarita Bobova e31173ca73 Add changelog for 1.5.0 2021-05-26 13:51:06 +03:00
pyos 33ddeffcfd JVM_IR: box inline class values returned by suspend inline lambdas
The call site inside the inline function expects them to return a boxed
value, like FunctionN.invoke would.

 #KT-46915 Fixed
2021-05-26 08:33:55 +02:00
pyos 117fad2018 JVM: refactor inline ExpressionLambda initialization 2021-05-26 08:33:55 +02:00
Mads Ager d023966054 [JVM] Fix various undefined locals issues.
CoroutineTransformermethodVisitor attempts to extend the ranges
of local variables in various situations. Probably in an attempt
to give a better debugging experience. However, all of these
range extensions lead to invalid local variable tables where
something is in the local variable table where nothing is in the
corresponding slot.

The code that extends variables to the next suspension point
instead of ending them when they are no longer live has issues
with loops. When resuming and reentering the loop, the locals
table will mention a local that we did not spill and which
is therefore not restored when resuming.

The code that extends local variable table entries if there
are no suspension points between two entries doesn't work
for code such as:

```
var s: String
if (suspendHere() == "OK") {
  s = "OK"
} else {
  s = "FAIL"
}
```

If the local variable ranges are collapsed into one, one of
the branches will have the local defined in the local variable
table before the slot is initialized.
2021-05-26 08:33:34 +02:00
Nikita Bobko 14ed660f4f [cleanup] Remove unused AbstractFirMultiModuleResolveTest 2021-05-25 23:53:08 +03:00
Anton Lakotka 5d9915e133 Don't copy extendsFrom configs for resolvableMetadataConfiguration
Gradle's detached configurations doesn't respect extends from relation
to other configurations due to gradle bug.
In fact extendsFrom isn't required for resolvableMetadataConfiguration
business logic. It is enough to include all originalDependencies to
freshly created detached configuration.

^KT-46417 Fixed
2021-05-25 23:31:23 +03:00
sebastian.sellmair e8bd8a938f Implement HierarchicalMppIT.testNativeLeafTestSourceSetsKt46417 to cover ^KT-46417 2021-05-25 23:31:22 +03:00
Ilya Goncharov c62a965180 [IR] Not try Null constant in fold constant
^KT-46859 fixed
2021-05-25 22:29:58 +03:00
Ilya Kirillov b18d4af37b fix fe1.0 plugin testdata 2021-05-25 20:39:37 +03:00
Mark Punzalan 2c18406632 IDE: Add test for message of VAL_OR_VAR_ON_*_PARAMETER diagnostic.
Also fall back to getting parameter descriptor if property descriptor
not found for `val/var` parameters.

^KTIJ-13030 Fixed
2021-05-25 20:39:36 +03:00
Mark Punzalan 23605e08be FIR IDE: Enable RemoveValVarFromParameterFix for
VAL_OR_VAR_ON_*_PARAMETER.
2021-05-25 20:39:35 +03:00
Mark Punzalan af99ad0736 FIR checker: Report VAL_OR_VAR_ON_*_PARAMETER. 2021-05-25 20:39:34 +03:00
Tianyu Geng 71c5c9f6c5 FIR IDE: add quickfix to change function return type 2021-05-25 20:39:32 +03:00
Stanislav Erokhin b5994fa3a9 Remove the Kotlin online event link 2021-05-25 19:19:26 +02:00
Andrey Zinovyev ae079d9bdd [FIR] Move unsigned types constructor evaluation from intrinsics 2021-05-25 19:23:31 +03:00
Andrey Zinovyev 64b45e6d1b Add comments to skipped FIR tests 2021-05-25 19:23:30 +03:00
Andrey Zinovyev dce8bd4e62 [FIR] Support constructor call of unsigned in checker 2021-05-25 19:23:29 +03:00
Andrey Zinovyev 7f2eaab02b [FIR] Support for constructor calls of unsigned types in constants 2021-05-25 19:23:27 +03:00
Dmitriy Novozhilov f9eba6e842 [FIR] Fix determining dependencies for modular jdk in CLI 2021-05-25 15:08:47 +03:00
teamcityserver d530344eda Merge branch 'push/zharkov-fixes-4' 2021-05-25 14:57:51 +03:00
Jinseong Jeon 5effbce363 UAST: cleanup plugin file to have only plugin definition 2021-05-25 13:09:57 +02:00
Jinseong Jeon 8b93727f64 UAST: split KotlinConverter into a separate file 2021-05-25 13:09:57 +02:00
Jinseong Jeon 0395294933 UAST: split KotlinUastResolveProviderService into a separate file 2021-05-25 13:09:57 +02:00