Commit Graph

58586 Commits

Author SHA1 Message Date
Denis Zharkov cdb2bb2b45 FIR: Prepare tree for callable references resolution
^KT-32725 In Progress
2019-10-28 17:04:44 +03:00
Denis Zharkov aeceee5af0 FIR: Fix StoreReceiver transformer
^KT-32725 In Progress
2019-10-28 17:04:39 +03:00
Denis Zharkov e359791ab4 Minor. FIR: Simplify createFunctionalType
^KT-32725 In Progress
2019-10-28 17:04:29 +03:00
Florian Kistner bffcf8478e 193: Fix outdated gradle plugin id 2019-10-28 14:19:14 +01:00
Nikolay Krasko 01d3b8d9c4 Store mute tests database in the code instead of build server 2019-10-28 14:06:06 +03:00
Nikolay Krasko edc1fa3ae8 Change version to the stable one to avoid downloading from teamcity 2019-10-28 14:06:06 +03:00
Nikolay Krasko 3643ae4765 Update 193 to more recent 193.4778.7-EAP 2019-10-28 14:06:06 +03:00
Nikolay Krasko 810e1973f6 193: Mute multiline enter tests in 193 (KT-34566) 2019-10-28 14:06:06 +03:00
Nikolay Krasko 697d3a0e5a 193: Mute scripting test in 193 (KT-34541) 2019-10-28 14:06:06 +03:00
Nikolay Krasko 8563614b69 193: Mute navigation tests in 193 (KT-34542) 2019-10-28 14:06:05 +03:00
Nikolay Krasko 3e7767f096 Fix compilation on 193 and clean up other warnings 2019-10-28 14:06:05 +03:00
Igor Chevdar 7b0f03cc1c [IR] Made IR validator weaker during validating IrConstNull 2019-10-28 12:39:29 +03:00
Igor Chevdar f413da3e58 Turned off test for native
It fixes current JVM BE behavior but seems like this should've been a FE error.
2019-10-28 12:38:19 +03:00
Georgy Bronnikov b63f9176a3 JVM_IR: repair overriddenSymbols in InterfaceDelegationLowering
When creating delegation redirectors for default implementations of
interface functions, `overriddenSymbols` should be repaired across the
whole module, not just a particular file.
2019-10-28 12:12:32 +03:00
Ilya Goncharov c127cbaa6a [Gradle, JS] Fix stack trace for inner classes
Necessary only classname, Gradle find package on itself

#KT-30917 fixed
2019-10-28 11:50:52 +03:00
Mads Ager 88dd8f663c JVM_IR: Do not generate null checks for suspend function views.
The arguments are null whenever the suspend function is resumed
and takes its state from the continuation parameter.
2019-10-27 07:37:15 +03:00
Vladimir Dolzhenko 03c7f4bf00 Wrap KtClassOrObject.isLocal, KtFile.isScript with runReadAction in LightClasses
#EA-211576 Fixed

(cherry picked from commit 75a59d4bced714af51abd7e354bc873313b28051)
2019-10-26 21:10:38 +02:00
Vladimir Dolzhenko 00055fc20a Wrap KtClassOrObject.isLocal, KtFile.isScript with runReadAction in LightClasses
#EA-211576 Fixed

(cherry picked from commit 75a59d4bced714af51abd7e354bc873313b28051)
2019-10-26 09:42:49 +02:00
Vladimir Dolzhenko 96768cbf2d Clean up after acquire lock for several seconds to create LightClasses to workaround dead-lock over resolve
Relates to #KT-34279
2019-10-25 22:05:28 +02:00
Vyacheslav Gerasimov 28e34f5175 Build: Exclude kotlin-stdlib-common from kotlin-osgi-bundle
#KT-31365
2019-10-25 21:53:41 +03:00
Alexander Udalov dac0fc7397 Remove obsolete assertion in ExpressionCodegen
With the mangling added in 488418d960, there's no longer any risk in
writing "special" function name ("<anonymous>" in this case) to the
local variable table.

 #KT-34356 Fixed
2019-10-25 19:31:20 +02:00
Alexander Udalov e7fe144f5c Minor, fix markdown rendering in GenerateGradleOptions
To make it more in line with changes in
https://github.com/JetBrains/kotlin-web-site/commit/649bd6bbc453942d792a7a81f874ddf62dd884d3
and
https://github.com/JetBrains/kotlin-web-site/commit/4e78c2ea945eebfcedfdf696334a3298aebf2ff7
2019-10-25 19:26:20 +02:00
Alexander Udalov f248e4a2ee Update CLI test data and Gradle option descriptions 2019-10-25 19:26:20 +02:00
Pavel Semyonov c6f54b6412 Improve descriptions of compiler options 2019-10-25 19:26:19 +02:00
Pavel Kirpichenkov 87b88a738e [Minor] Update test data for NI 2019-10-25 19:37:06 +03:00
Nikolay Krasko 1b96e14b1e Remove reference to temporary thread local explicitly (KT-28940)
There're issue with storing variables in memory longer than needed.
2019-10-25 17:01:52 +03:00
Mikhail Zarechenskiy 588218658c [NI] Fix ambiguity for extension functions with exact transient receiver 2019-10-25 16:28:40 +03:00
Vladimir Dolzhenko eb3f50dce7 Revert "Fix readAccess in IDELightClassGenerationSupport on obtaining script"
This reverts commit ba01678a
2019-10-25 14:11:46 +02:00
Steven Schäfer 210c354ae5 Fir2Ir: Set initializers for temporary variables 2019-10-25 14:27:19 +03:00
Alexander Udalov cf61957e3c Minor, fix kotlinx-serialization bytecode test data
After some changes to the JVM IR backend
2019-10-25 11:23:11 +02:00
Pavel Kirpichenkov c21e699783 Fix default type of static classes inside parametrized parents
Default type of LazySubstitutingClassDescriptor is not lazy. However, most of default types are,
and there is an optimization in KotlinTypeFactory, which uses default type for simple type without
type arguments and/or annotations. LazySubstitutingClassDescriptor's default type creates simple type
with factory, which may therefore cause recursion.

#KT-34029 Fixed
2019-10-25 11:59:27 +03:00
Dmitriy Dolovov 905823fb1d Fix: Notify user in IDE on K/N KLIBs with incompatible ABI version
Issue #KT-34159
2019-10-25 11:10:46 +07:00
Dmitriy Dolovov 8ffc58a77d Fix: Don't index and decompile incompatible .knm files from K/N KLIBs
Issue #KT-34159
2019-10-25 11:10:40 +07:00
Dmitriy Dolovov 9c887c1e79 Fix: Don't analyse incompatible K/N KLIBs in IDE
Issue #KT-34159
2019-10-25 11:10:34 +07:00
Vyacheslav Gerasimov b1d7df697d Build: Add dependency on gradle plugin to android-extensions-idea module 2019-10-24 21:01:27 +03:00
Vyacheslav Gerasimov e096691bd8 Build: Add dependency on gradle plugin to idea-android module 2019-10-24 19:32:16 +03:00
Mads Ager 52febbcc07 [JVM_IR] Support default interface suspend functions.
Do this by reordering the lowerings so that the lowering that
adds continuations happen after default methods have been
eliminated if needed.

Mark more functions as known to be tail-calls: bridges and
delegated members.

Preserve source info and annotations when creating replacement
functions.
2019-10-24 18:51:41 +03:00
Vladimir Dolzhenko d16a1b14d8 Acquire lock for several seconds to create LightClasses to workaround dead-lock over resolve
Relates to #KT-34279
2019-10-24 17:32:36 +02:00
Alexander Udalov c676a30919 Minor, clarify comment on SafePublicationLazyImpl.final 2019-10-24 16:57:54 +02:00
Alexander Udalov c24f2d06d4 Mark value fields in ReflectProperties as volatile
These fields were originally non-volatile because of an incorrect
assumption I had at the time that a value was safely published if the
underlying object's class has at least one final field. This is true for
almost all values used in lazy/lazySoft: DeserializedFunctionDescriptor,
DeserializedPropertyDescriptor, KTypeImpl, java.lang.reflect.Field, etc.
But of course, this only means that the object was _safely initialized_
and not safely published via the non-volatile reference, where other
threads can still observe null, even after that constructed object was
leaked to the outer world by some other means and led to observable
changes in behavior.

This can fix some concurrency issues in kotlin-reflect. I wasn't able to
reproduce the problem in stress tests though.
2019-10-24 16:57:53 +02:00
Kristoffer Andersen 8af3b3e51e [Backend] Reorganize version 1.0 codegen tests
- Extract all backend codegen tests that specifically target behaviour
  in to-be-deprecated functionality from language versions < 1.3"
- Remove those tests from the JVM IR test suite.
2019-10-24 16:51:19 +02:00
Vyacheslav Gerasimov 38ea5a85a3 Build: Add maven publication for Kotlin plugin artifacts 2019-10-24 17:06:19 +03:00
Ilya Gorbunov c1cb6da436 Use stable compiler option for enabling progressive mode 2019-10-24 16:05:48 +03:00
Ilya Gorbunov 59482f6827 Do not blank opt in for allowing kotlin package in all subprojects
-Xallow-kotlin-package must be specified explicitly to prevent
unintended declarations in kotlin package.
2019-10-24 16:05:48 +03:00
Kevin Bierhoff 5c9cbf7e77 allow relative friend paths matching relative classpaths 2019-10-24 14:56:46 +02:00
Yan Zhulanow 68deedb589 Kapt: Register AP options as inputs in worker mode as it done with kotlinc compiler plugin mode
This commit fixes the 'KotlinAndroid32GradleIT.testKaptUsingApOptionProvidersAsNestedInputOutput()' test that started to fail after switching to the worker API mode by default.
2019-10-24 21:33:02 +09:00
Yan Zhulanow 958e6623fc Kapt: Enable worker API mode by default (KT-32832) 2019-10-24 21:33:02 +09:00
Ivan Gavrilovic 68723125f2 Clean up KAPT incremental tests
Remove redundant class to invalidate sources, because it is already
handled in the KaptContext constructor.
2019-10-24 21:33:01 +09:00
Yan Zhulanow 7fc25a9c04 Pill: Add GenerateRuntimeDescriptorTests to the "Generate all tests" run configuration (KT-34494) 2019-10-24 21:33:01 +09:00
Yan Zhulanow 2cb055a3bd Debugger: Log evaluation status from Java contexts
IntelliJ doesn't call KotlinDebuggerEvaluator from Java contexts; instead, it calls JavaDebuggerEvaluator.
Unfortunately, there seems to be no way to figure out the exact evaluation type for Java contexts. However, we can at least log the evaluation status itself.
2019-10-24 21:33:01 +09:00