Commit Graph

49458 Commits

Author SHA1 Message Date
Dmitry Savvinov 62edf29cbf Use DataFlowValue instead of Descriptor for equality of ESDataFlowValue
Equality of those values is crucial for intersecting data-flow info
coming from expressions like: 'this.x != null || other.x != null'.

Using 'ValueDescriptor' for equality is obviously wrong, because then 'this.x'
and 'other.x' will be treated as equal, leading to unsound smartcasts.

This commit adds proper overload of 'equals' to 'ESDataFlowValue' that
will compare them based on underlying 'DataFlowValue' (which already
distinguish those values)

^KT-27260 Fixed
2018-10-02 11:05:06 +03:00
Dmitry Savvinov dd682bd37d Add test on data-flow
Idea is to intersect similar smartcasts on similar properties coming
from *different* instances (something like
'this.x == null && other.x == null' ).

It checks that we distinguish subjects of such smartcasts properly.

Currently behavior is undesired, see KT-27260
2018-10-02 11:05:06 +03:00
Mikhail Zarechenskiy e74469fdfc Use mutable lists before deserialization of project structure
The problem is that we perform xml deserialization using intellij
 mechanism which tries to clear target object if it isn't unmodifiable
 (see CollectionBinding.isMutableCollection). This check fails for
 kotlin.EmptyList (emptyList()) which then cause exception

 #KT-27321 Fixed
2018-10-01 19:43:03 +03:00
Ilya Chernikov da9c486a70 Fix gradle support for non-kts scripts for inter-project dependencies 2018-10-01 18:34:15 +02:00
Ilya Chernikov c50e880173 Implement more precise diagnostic when a standard script template is missing
adapt quickfix accordingly
#KT-26505 fixed
2018-10-01 18:34:15 +02:00
Ilya Gorbunov b1c4590537 Override docs of MutableList.add/addAll methods
#KT-25632
2018-10-01 18:09:09 +03:00
Ilya Gorbunov d6beddaac5 Document the requirement for 'minus(elements)' to have stable hashCode
#KT-24536
2018-10-01 18:09:09 +03:00
Ilya Gorbunov 27beadad18 Summary for new packages: kotlin.coroutines, kotlin.contracts, kotlin.random 2018-10-01 18:03:28 +03:00
Ilya Gorbunov 08822ff14b Document that lines and lineSequence do not preserve line separators 2018-10-01 18:03:23 +03:00
Ilya Gorbunov 21b71f3bb1 Clarify the purpose of the message parameter of assertFailsWith
#KT-22869 Fixed
2018-10-01 18:03:23 +03:00
Ilya Gorbunov 9f9033870c Add a note about non-atomic behavior of MutableMap.getOrPut
#KT-13821
2018-10-01 18:03:23 +03:00
Ilya Gorbunov bb9e9ac1ee Seeded random docs: add a note about repeatability not being preserved
We're not ready to give a guarantee that the seeded generator
implementation will never change in future versions.
2018-10-01 18:03:23 +03:00
Ilmir Usmanov 896913907b Update bootstap 2018-10-01 17:30:06 +03:00
Alexander Udalov 712c9cbfe6 Minor, mute legacyModOperator.kt for JVM_IR 2018-10-01 16:17:14 +02:00
Alexander Udalov 04ba1cff05 Minor, unmute bothInExpectAndActual.kt for JS_IR 2018-10-01 16:17:14 +02:00
Alexander Udalov 6a6a28f8cd Fix ComponentContainerTest 2018-10-01 16:17:14 +02:00
Vyacheslav Gerasimov f871e9dc79 Update gradle version to 4.10.2 2018-10-01 16:38:58 +03:00
Vyacheslav Gerasimov f9cefdaa44 Add to kotlin-plugin.jar js.translator module referenced by serialization 2018-10-01 16:27:23 +03:00
Vyacheslav Gerasimov 28c84d0e00 183: Make 183 plugin compatible with upcoming Idea 191 2018-10-01 15:35:50 +03:00
Mikhail Glukhikh 6dbb51d7a7 MPP wizards: remove AS bunches (anyway they aren't accessible for AS) 2018-10-01 15:07:44 +03:00
Alexey Sedunov a24e58f5a0 Configuration: Update repository URLs to use HTTPS instead of HTTP
#KT-27095 Fixed
2018-10-01 14:46:52 +03:00
Alexey Sedunov 03b289b899 Configuration: Do not save default values of sourceMapEmbedSources 2018-10-01 14:46:52 +03:00
Alexey Sedunov 0765cb9c62 Minor: Fix model access 2018-10-01 14:46:52 +03:00
Alexander Udalov 55c8b35eee Remove unneeded default imports in stdlib and tests 2018-10-01 13:39:02 +02:00
Mikhail Glukhikh 199ae3bac8 Forbid all MPP wizards in IDEA 173, but leave them in AS 3.1
Related to KT-27267
2018-10-01 14:36:52 +03:00
Mikhail Glukhikh 4c85616ee3 Forbid all MPP native-related wizards in IDEA 181, but leave in AS 3.2
Related to KT-27267
2018-10-01 14:36:51 +03:00
Alexander Udalov 009f18f1f4 Split AnalysisFlag values to AnalysisFlags and JvmAnalysisFlags
Declare AnalysisFlags in module 'frontend', and JvmAnalysisFlags in
module 'frontend.java', to avoid leaking Java-related logic to common
compiler code
2018-10-01 13:31:00 +02:00
Alexey Sedunov c59779f5b9 MPP: Retain KotlinSourceSetInfo for Android in data nodes
User data is not serialized which leads to broken import on reopening

 #KT-27213 Fixed
2018-10-01 13:55:35 +03:00
Alexey Sedunov c183c5b36a MPP: Add dependencies for all source sets for a given Android variant 2018-10-01 13:55:31 +03:00
Alexey Sedunov 63500216f0 MPP: Fix recognition of test source sets in Android projects
#KT-27212 Fixed
2018-10-01 13:55:26 +03:00
Alexey Sedunov 5b8208c751 MPP: Fix import failure in the case unresolved dependency is found
Instead report unresolved dependencies in Gradle build results

 #KT-27029 Fixed
2018-10-01 13:55:22 +03:00
Alexey Sedunov 99f63f2ebd Configuration: Use model provider to access facets
Otherwise newly created Android project may get invalid SDK
until the reimport is performed

 #KT-27193 Fixed
2018-10-01 13:55:16 +03:00
Mikhail Glukhikh eb528c3d65 MPP mobile wizard: generate also Xcode (r) project for iOS
#KT-27178 Fixed
2018-10-01 13:46:37 +03:00
Dmitriy Dolovov 21952960f6 [K/N] Allow common source sets in projects created with wizard
Issue #KT-27232 Fixed
2018-10-01 16:36:32 +07:00
Georgy Bronnikov ade640eadb JVM_IR. Support compile time constants 2018-10-01 12:25:55 +03:00
Denis Zharkov 623c6803d6 Fix regression on smart casts in when on a sealed class
See the comment in PatternMatchingTypingVisitor

 #KT-27221 Fixed
2018-10-01 09:59:28 +03:00
Dmitry Petrov 729da29e49 Update command-line options help for '-Xnormalize-constructor-calls'
Default value depends on language version.
2018-10-01 09:42:13 +03:00
Ilya Matveev d2740db88f Update Kotlin/Native: 0.9.3 2018-09-30 11:27:13 +03:00
Ilya Matveev 7a5c05b72d Filter java.endorsed.dirs property in K/N runner 2018-09-30 11:27:13 +03:00
Nikolay Krasko b09ec3cbb3 Shortcut quick fix for migrating all coroutines in the project (KT-27164)
#KT-27164 Fixed
2018-09-29 16:27:45 +03:00
Nikolay Krasko 282407c4a7 Minor: register problems through holder function 2018-09-29 16:27:43 +03:00
Nikolay Krasko 0efb4cc5f6 Refactoring: extract fun in ObsoleteExperimentalCoroutinesInspection.kt 2018-09-29 16:27:42 +03:00
Sergey Igushkin 58a8411575 Fix KNPE due to publications processing order in Gradle 4.7
A KNPE happened because Gradle 4.7 (but not 4.8+) requested a
publication's dependencies before all other publications were created.

Issue #KT-27231 Fixed
2018-09-28 21:57:09 +03:00
Svyatoslav Kuzmich 334c776b92 [JS IR BE] Fix @DoNotIntrinsify processing. Reuse it for compareTo 2018-09-28 20:27:01 +03:00
Ilya Gorbunov 12a31637d1 Improve groupingBy samples 2018-09-28 19:59:30 +03:00
Ilya Gorbunov 3a40e3f041 Move groupingByEachCount together with the new Grouping samples 2018-09-28 19:51:07 +03:00
Itsuki Aoyagi 039d41679e Add samples for groupingBy operations 2018-09-28 19:51:07 +03:00
Toshiaki Kameyama d89947bd5a "Convert put to assignment": don't report on 'super' #KT-27146 Fixed 2018-09-28 19:43:05 +03:00
Leonid Startsev b611facd71 Check if serialization plugin presents in the facet compiler classpath before applying extensions logic
#KT-27166 Fixed
2018-09-28 18:31:03 +03:00
Alexander Udalov 088cd4b5e3 Stop parsing argument in argfile when quote ends
There are two visible effects of this change:
1) If an empty argument is passed in quotes, it will be parsed as an
   empty string and handled by the compiler, which will report an error
   later. The specific error is not very important because it's an edge
   case anyway; at the moment, "source file or directory not found:" is
   reported which is no better than the "invalid flag:" error reported
   by javac in the similar case
2) It's no longer possible to split an argument into several parts and
   quote them separately, such as:

       "-langu"ag"e-"ver'sio'n 1.2

   No test added for this change in behavior since it's an even edgier
   case. Note that javac also prohibits this.

 #KT-27226 Fixed
2018-09-28 16:02:40 +02:00