Commit Graph

48296 Commits

Author SHA1 Message Date
Natalia Selezneva 81f4bd3846 Add tests for configuring kotlin with gradle 4.9 2018-08-30 12:35:52 +03:00
Sergey Rostov 81b519286f ScriptDependenciesLoader: Fix freeze on notifyRootsChanged
In 4f3f4dd, launch(EDT(project)) was replaced with TransactionGuard.submitTransaction to fix write in write-unsafe context.
Unfortunately submitTransaction will call action immediately if we are already on EDT. This causes IDE freeze.
By replacing submitTransaction with submitTransactionLater we are postponing work to the end of events queue (as it was before 4f3f4dd).
Also in isUnitTestMode we need to call action immediately as it was before 4f3f4dd.

#KT-25958 Fixed
2018-08-30 10:59:32 +03:00
Yan Zhulanow ddb034715d Gradle importer: Join compiler plugin options as before the new MPP refactoring (KT-26424)
Android Studio has at least two kinds of importers: a generic one (that is run when the "Refresh Gradle model" tool button is pressed) and a fast one (is run on the build variant switch). Fast importer doesn't invoke our import handlers (AndroidExtensionsGradleImportHandler) that modify the compiler options stored in Kotlin facet in some way.

Until the recent MPP importer refactoring both old and new options were saved in the Kotlin facet; now only the new options persist. This is certainly better, though it breaks the existing behavior (as the options added by import handlers become lost).

The alternative approach is to re-design import handlers in a way they won't require the whole module/source set node (so we can invoke them every time), though it requires a way more changes.
2018-08-29 19:16:16 +05:00
kenji tomita e5841441c9 Fix #KT-26353 'Make variable immutable' is a bad name for a quickfix that changes 'var' to 'val' 2018-08-29 16:27:46 +03:00
Alexander Udalov e85dcfc3e3 Fix compatibility with Android plugin broken in 896cf61 2018-08-29 15:24:58 +02:00
Toshiaki Kameyama 3ea0222d43 "Add annotation target" quickfix: add SOURCE retention when target is EXPRESSION #KT-26306 Fixed 2018-08-29 16:18:04 +03:00
Denis Vnukov ddf92ef187 Creating IrLineNumberTestGenerated, adding line numbers for few common expressions
This PR enables LineNumberTestGenerated test on IR backend. The testing of
hardcoded sequence of line numbers is replaced with mere checks for set-like
checks for expected line numbers.
2018-08-29 12:52:20 +02:00
Ilya Gorbunov 36936d252c Support multiple expectedBy dependencies when building -Xcommon-sources list
`addCommonSourceSetToPlatformSourceSet` may be called multiple times during
a platform project configuration.
2018-08-28 19:13:36 +03:00
Zalim Bashorov b2d9254bfd Fix testdata 2018-08-28 16:30:15 +03:00
Vyacheslav Gerasimov bf4ded3991 Add org.jetbrains.markdown to test runtime of idea project 2018-08-28 15:20:03 +03:00
Pavel Punegov 1ea9c2d4ba Replace min with coerceAtMost in test 2018-08-28 13:48:44 +03:00
Pavel Punegov 1c5ebacf0f Disable 1.3 version coroutines in Native and incorrect genericProperty test 2018-08-28 13:48:44 +03:00
Pavel Punegov 9eb78fc490 Disable tests that fail in NATIVE 2018-08-28 13:48:44 +03:00
Pavel Punegov 39a65a099a Disable IEEE754 tests with improper comparisons behaviour in Native 2018-08-28 13:48:44 +03:00
Pavel Punegov 1a7d366733 Disable JVM tests in native 2018-08-28 13:48:44 +03:00
Pavel Punegov 0c8f34a934 Disable JVM assertions in native 2018-08-28 13:48:44 +03:00
Pavel Punegov e2efeb70f7 Zip stdlib tests 2018-08-28 13:48:43 +03:00
Pavel Punegov 2ff6047845 Update ignore tag for Native backend 2018-08-28 13:48:43 +03:00
Alexander Udalov 4219aff548 Refactor DescriptorRenderer's renderAccessors option
In some tests with txt (probably all except loadJava), property
accessors are not rendered at all, so a third option value (NONE) will
be useful to determine whether we need to render annotations on property
accessors as get/set/sparam-targeted annotations on the property
2018-08-27 23:37:06 +02:00
Alexander Udalov 896cf61443 Move JVM-specific annotation FQ names and utils to frontend.java 2018-08-27 23:37:06 +02:00
Alexander Udalov ab441dcd96 Drop PropertyDescriptorImpl.setType that takes KotlinType
Only use the other setType that takes an instance of
ReceiverParameterDescriptor. This will make sure that call sites can
use correct receiver annotations
2018-08-27 23:37:05 +02:00
Alexander Udalov 34c033bcaf Take ReceiverParameterDescriptor in FunctionDescriptorImpl.initialize
Instead of just KotlinType. This will allow to pass annotations on the
receiver at call sites
2018-08-27 23:37:04 +02:00
Alexander Udalov 6fb39785ff Postpone force resolve of annotations on properties
Otherwise (after subsequent commits) we may end up calling
BindingContext.HAS_BACKING_FIELD too early and getting incorrect value,
which will influence which annotations the property and the field will
have, and since they're cached as soon as they're computed, they will
remain incorrect until the end of the program. Now we're calling force
resolve after bodies of property accessors are resolved, which is the
point where the backing field presence has been already determined for
certain.

This all still looks very fragile because we might try to get property's
annotations anywhere else before the accessors' bodies are analyzed, but
I have no idea at the moment how to improve this without refactoring the
whole subsystem
2018-08-27 23:36:25 +02:00
Alexander Udalov 8d44824875 Minor, use Annotations.EMPTY instead of empty AnnotationsImpl 2018-08-27 23:36:24 +02:00
Alexander Udalov 872f6e2cea Minor, make AnnotatedImpl not abstract 2018-08-27 23:36:24 +02:00
Alexander Udalov 50270293e3 Minor, improve assertion message in test 2018-08-27 23:36:24 +02:00
Vyacheslav Gerasimov bc544d764a Refactor build repositories to reduce number of unnecessary request
Setup for all projects only local, jcenter and bootstrap repositories
2018-08-27 18:09:26 +03:00
Mikhael Bogdanov ca5b19d0c6 Merge Java 8 write signature tests in common ones 2018-08-27 15:55:03 +02:00
Mikhael Bogdanov 7e7b556018 Minor. Reformat 2018-08-27 15:17:26 +02:00
Mikhael Bogdanov 7843d4e0d4 Minor. Code clean 2018-08-27 15:17:26 +02:00
Mikhael Bogdanov efd93670f8 Migrate AbstractWriteSignatureTest.kt to CodegenTestCase stuff 2018-08-27 15:17:25 +02:00
Mikhail Zarechenskiy 3f79a752a5 Check for accessibility of unsigned types when using unsigned literals 2018-08-27 15:16:14 +03:00
Alexander Udalov afd53c9870 Revert metadata version reading advancement for JS/Common
This commit reverts 59e2101a25 partially,
leaving only the implementation of KT-25972 for JVM. The reason is that
we can't fully commit to stabilizing JS (and .kotlin_metadata) binary
metadata formats so much as to postpone any changes done to it for a
whole release year time. It's likely that we will need to update JS
metadata format incompatibly pretty soon, and with the scheme where we
can read the "current + 1" version, it'd require advancing the metadata
version by 2, which would break the nice property that the metadata
version (since Kotlin 1.4) is equal to the version of the compiler that
produced it.

See KT-25972
2018-08-27 13:14:09 +02:00
Mikhail Zarechenskiy 4067d6b196 [NI] Fix overload resolution ambiguity for incorrect provideDelegate
#KT-25810
2018-08-27 13:49:19 +03:00
Toshiaki Kameyama ae4ff45750 "Remove redundant let" inspection: do not report for long call chains #KT-26289 Fixed 2018-08-27 13:42:25 +03:00
Toshiaki Kameyama c6db26ba91 "Replace 'if' with elvis operator": Don't suggest on nullable type check #KT-25886 Fixed 2018-08-27 13:33:46 +03:00
Toshiaki Kameyama 1a31ce769c Fix false negative in not reduceable binary expression #KT-26179 Fixed 2018-08-27 13:32:49 +03:00
Toshiaki Kameyama 8f80851b9a if then to elvis: support calling extension function in class #KT-26343 Fixed 2018-08-27 13:31:04 +03:00
Toshiaki Kameyama b34f32d4f3 "Remove redundant backticks": Fix false positive for yield #KT-25968 Fixed 2018-08-27 13:10:57 +03:00
Toshiaki Kameyama 362e6863ac "Replace if with when": Do not remove block braces if block has single lambda expression #KT-26187 Fixed 2018-08-27 12:54:45 +03:00
kenji tomita e59427edab Fix false positive for if-else 2018-08-27 12:53:35 +03:00
Toshiaki Kameyama 0099b7b3b1 "Remove explicit type specification" intention: Add type argument to initializer if need #KT-13343 Fixed 2018-08-27 12:35:32 +03:00
Alexander Podkhalyuzin 54922362e3 Added Kotlin svg icon to the distribution
#KT-26393 Fixed
2018-08-25 17:21:50 +03:00
Alexander Podkhalyuzin c0e92ba350 Added resolve scope enlarger to module infos in Kotlin
From now it's possible to enlarge resolve scope for analysis in IDE,
the only difference is that it's based on module file.

#KT-26313 Fixed
2018-08-25 11:22:50 +03:00
Alexander Udalov a9a8925409 Revert "Report error on .class files produced by Kotlin 1.3-M1"
This reverts commit ba111d58ae.

The reverted commit only makes sense after a bootstrap step after
advancing the metadata version, which has not yet happened in master,
but did happen in 1.3-M2, where this commit was supposed to end up
2018-08-24 22:38:59 +02:00
Vyacheslav Gerasimov 0dd410a5bb Make CommandAdapter.beforeCommandFinished override compatible with 183 platform 2018-08-24 22:19:28 +03:00
Juan Chen 1a562d477a Add sync after Kotlin configured in Android Studio projects. 2018-08-24 22:07:36 +03:00
Mikhael Bogdanov f21dd9f801 Minor. Review fixes 2018-08-24 20:22:33 +02:00
Mikhael Bogdanov 367ab5470c Minor. Code clean 2018-08-24 20:22:32 +02:00
Mikhael Bogdanov 4687381179 Convert AbstractLineNumberTest.java to Kotlin 2018-08-24 20:17:25 +02:00