Commit Graph

85302 Commits

Author SHA1 Message Date
Ilya Gorbunov 43a614ffcd Make builder collection implementations serializable KT-39328
Collections returned by collection builders are now serializable in
their read-only state.
The builder mutable collections inside collection builder lambda,
however, are not.
2021-08-24 23:13:57 +00:00
Ilya Chernikov 4243bafd1d Scripting: implement correct disposal of REPL state on finalization
#KT-47927 fixed
2021-08-24 21:39:38 +03:00
Ilya Chernikov a45e31720c Make state of the default REPL compiler explicit and replaceable
restores proper object hierarchy in case the legacy REPL infrastructure
2021-08-24 21:39:37 +03:00
Ilya Chernikov e7c9a46329 [minor] Extract jvm scripting test into a separate task 2021-08-24 21:39:37 +03:00
Ilya Chernikov 61e5f68b8d Scripting invalidate compiled cache if a dependency is missing
#KT-48303 fixed
2021-08-24 21:39:35 +03:00
Ilya Chernikov e60e80f19a Scripting: improve reporting on cyclic dependency
#KT-48177 fixed
the issue is in fact fixed by the previous commit (report error
on duplicated import) by normalizing import path before processing,
but here we're making error reporting nicer for the case.
2021-08-24 21:39:33 +03:00
Ilya Chernikov c204d7a86f Scripting: report error on duplicate import
#KT-48177 fixed
(due to the path normalization)
2021-08-24 21:39:32 +03:00
Mark Punzalan 306a035c68 HL API: Fix argument mapping for lambda arguments (+ more tests). 2021-08-24 21:36:46 +03:00
Ilya Kirillov 20f297aaf7 FIR LC: do not ignore useSite target for getting deprecation status 2021-08-24 20:13:18 +03:00
Ilya Kirillov c17a4a5a3b FIR IDE: move light classes to separate module 2021-08-24 20:13:09 +03:00
Ilya Kirillov abe2311372 FIR IDE: move declaration/package providers to separate module 2021-08-24 20:12:58 +03:00
Ilya Kirillov a54b769ec4 FIR LC: do not use fir directly to get deprecation status 2021-08-24 20:12:57 +03:00
Ilya Kirillov 1baa4759a9 FIR LC: remove unused function 2021-08-24 20:12:56 +03:00
Ilya Kirillov 6e2c9256cf FIR LC: do not use fir directly to create ASM types 2021-08-24 20:12:54 +03:00
Ilya Kirillov a1497b13c9 HL API: add nullability property to every KtType 2021-08-24 20:12:53 +03:00
Tianyu Geng c940972674 FIR IDE: add shortcut to check if a KtSymbol is deprecated 2021-08-24 20:12:51 +03:00
Ilya Kirillov cc6389d394 FIR LC: do not use fir directly to create PSI types 2021-08-24 20:12:42 +03:00
Dmitry Petrov c30b23ed01 JVM_IR fixes after review 2021-08-24 18:56:22 +03:00
Dmitry Petrov f4dd75e769 JVM_IR don't inline temporary val for 'when' subject 2021-08-24 18:56:21 +03:00
Dmitry Petrov f4a1e27124 JVM optimize unneeded temporary vals 2021-08-24 18:56:20 +03:00
Dmitry Petrov d8f6d82411 JVM don't optimize temporary vals in old back-end 2021-08-24 18:56:19 +03:00
Dmitry Petrov 568958492a JVM_IR optimize temporary vals initialized with other vals 2021-08-24 18:56:18 +03:00
Dmitry Petrov 939f25333e JVM update testData 2021-08-24 18:56:17 +03:00
Dmitry Petrov fbcb07e3a2 JVM don't siplify CFG in TemporaryVariablesEliminationTransformer 2021-08-24 18:56:16 +03:00
Dmitry Petrov 7e943ab757 JVM don't optimize out starting ASTORE of TCB handler 2021-08-24 18:56:14 +03:00
Dmitry Petrov dcbc2ea2b3 JVM infer temporary vals from bytecode 2021-08-24 18:56:13 +03:00
Dmitry Petrov a4e299b8e1 JVM_IR don't evaluate static receiver if it's a variable 2021-08-24 18:56:12 +03:00
Dmitry Petrov 041773fd25 JVM optimize out temporary variables in bytecode 2021-08-24 18:56:11 +03:00
Dmitry Petrov bddfd086f6 JVM minor reuse updateMaxStack in CoroutineTransformerMethodVisitor 2021-08-24 18:56:10 +03:00
Dmitry Petrov 7b3d5b7863 JVM minor: extract base class from FixStackInterpreter 2021-08-24 18:56:09 +03:00
Alexander Udalov 4f29c113b7 Remove KotlinCompilerVersion.IS_PRE_RELEASE
Now, milestones of major Kotlin releases (e.g. 1.6.0-M1) will NOT
generate prerelease binaries anymore.

The reason for that is it's proven to be quite a complicated process to
turn on IR_PRE_RELEASE after the release is branched, perform double
bootstrap and fix tests, and then do it again in reverse just before
release. With the new release cadence, we don't have that much time to
do it and verify that everything works as intended.

Note that this only removes the "global" prerelease flag. Compiler will
still generate prerelease binaries if a non-stable language version is
used. For example, Kotlin 1.6.0-M1 with `-language-version 1.7` will
generate prerelease binaries.
2021-08-24 16:23:42 +02:00
Alexander Udalov 6de823396b Minor, fix Apache license template text 2021-08-24 16:23:05 +02:00
nataliya.valtman 260d301100 Report compiler performance data to ES 2021-08-24 16:33:13 +03:00
nataliya.valtman 7357aeb1c9 Add output size to ES metrics 2021-08-24 16:33:12 +03:00
Stanislav Erokhin 9becb2c468 Add compiler performance metrics
WIP
2021-08-24 16:33:12 +03:00
nataliya.valtman 64da19cb2d Add Artifact Transform stat into ES 2021-08-24 16:33:11 +03:00
Sergey Bogolepov e9e986dd61 Adjust CommonizerIT to MinGW cross-compilation 2021-08-24 19:14:56 +07:00
Ilya Gorbunov d726b00c33 stdlib-docs: Download dokka from teamcity 2021-08-24 10:48:35 +00:00
Ilya Gorbunov 64021f65e4 stdlib-docs: Allow to set dokka_version with property 2021-08-24 10:48:34 +00:00
Ilya Gorbunov aba0c715bd stdlib-docs: dokka can't stand windows path separator in sourcelink path 2021-08-24 10:48:34 +00:00
Ilya Gorbunov 3e82a20f16 stdlib-docs: update ant version 2021-08-24 10:48:34 +00:00
Alexander Udalov 75b8d44be5 Minor, fix some typos/errors in test-infrastructure ReadMe 2021-08-24 12:28:31 +02:00
Alexander Udalov 8d4f26cf84 IR: use inlineClassRepresentation in getInlineClassUnderlyingType
Looking for the primary constructor manually doesn't work if it's
private in the other module on JVM, because private declarations are
skipped in IrLazyClass.
2021-08-24 12:28:31 +02:00
Alexander Udalov 66dbd91851 IR: minor, remove unused 'isInlined' 2021-08-24 12:28:31 +02:00
Alexander Udalov 8b44b69982 Minor, add definitelyNonNull type flag in metadata as a comment 2021-08-24 12:28:31 +02:00
Svyatoslav Scherbina 5e789f86ee Support Native binary options in Gradle
Both project properties and per-binary DSL are available.
2021-08-24 09:36:24 +00:00
Svyatoslav Scherbina 9877a7271a Native: use binary options machinery for memory model
Old compiler flag (-memory-model) will work too.
2021-08-24 09:36:23 +00:00
Svyatoslav Scherbina ee3663afa4 Native: use binary options machinery for runtime assertions mode 2021-08-24 09:36:23 +00:00
Svyatoslav Scherbina 7cc1ea8801 Native: introduce binary options machinery 2021-08-24 09:36:22 +00:00
Mikhail Glukhikh 18cc498763 Fix deprecated smart casts in sources (around KT-48101) 2021-08-24 12:32:30 +03:00