Commit Graph

47706 Commits

Author SHA1 Message Date
Alexey Sedunov 73bdbbc697 Configuration: Do not show -Xfriend-paths in additional arguments
#KT-25945 Fixed
2018-08-09 10:06:31 +03:00
Alexey Sedunov cd61633b5d Configuration: Support external storage for imported facets
#KT-25913 Fixed
2018-08-09 10:06:30 +03:00
Alexey Sedunov abbac067b8 Configuration: Collapse empty nullable strings to null 2018-08-09 10:06:30 +03:00
Alexey Sedunov db556d6551 Configuration: Clean library version before adding it as dependency
#KT-25633 Fixed
2018-08-09 10:06:30 +03:00
Alexey Sedunov a8f8ecc012 Configuration: Invalidate caches when changing compiler options
#KT-25515 Fixed
2018-08-09 10:06:30 +03:00
Alexey Sedunov a54f410a15 Configuration: Use specific language/API version only for new projects
#KT-25640 Fixed
2018-08-09 10:06:30 +03:00
Mikhail Zarechenskiy 70aa16f71a Fix hashCode & equals for IntegerValueTypeConstant 2018-08-09 09:49:21 +03:00
Mikhail Zarechenskiy 1a511166cc Discriminate unsigned types in overload resolution
#KT-24717 Fixed
 Relates to #KT-25996 and #KT-25997
2018-08-09 09:49:17 +03:00
Mikhail Zarechenskiy be38263fc7 Introduce conversions from signed pure constants to unsigned ones
#KT-24717 In Progress
 #KT-25996 Open
 #KT-25997 Open
2018-08-09 09:47:48 +03:00
Ilya Gorbunov 7c996dc218 Improve padStart/padEnd samples 2018-08-09 04:38:22 +03:00
Gen a90b72ffd8 KT-20357 Add samples for padStart() and padEnd() 2018-08-09 04:38:22 +03:00
Roman Artemev 36a99da820 Break/finally chain in suspend function test fix & workaround 2018-08-08 19:11:17 +03:00
Roman Artemev efec82c0eb Update test data
* add new tests for coroutines
 * add copy of some tests without dependency on stdlib
2018-08-08 18:33:41 +03:00
Roman Artemev c62e4b4fcf [JS IR BE] Support coroutines
* Move FinallyBlockLowering to common part
* Fix catching of dynamic exception
* Fix bridges for suspend functions
* Disable explicit cast to Unit
* Run lowering per module
* Update some test data
2018-08-08 18:33:39 +03:00
Vyacheslav Gerasimov 37fadb8ee5 as33: Remove incorrect gradle.xml.as33 2018-08-08 16:26:15 +03:00
Mikhail Zarechenskiy d3280252f9 Prohibit inline data classes
`CONFLICTING_JVM_DECLARATIONS` diagnostics are reported because we're
 trying to generate functions from `Any` once for inline class and
 once for data class

 #KT-25760 Fixed
2018-08-08 15:47:26 +03:00
Mikhail Zarechenskiy fa2d159e3f Refactoring: move JVM related diagnostic to ErrorsJvm 2018-08-08 15:47:26 +03:00
Mikhail Zarechenskiy 34cd0e9f6c Do not report warning about useless annotations for JvmStatic properties
#KT-25745 Fixed
2018-08-08 15:47:25 +03:00
Mikhail Zarechenskiy d9e0af4483 Improve message for warning about useless annotations
#KT-25746 Fixed
2018-08-08 15:47:25 +03:00
Alexey Sedunov 1f59ff1bd4 Minor: Fix test data 2018-08-08 15:32:00 +03:00
Alexey Sedunov c234b40670 Misc: Update AS3.3 version to 182.4928781 2018-08-08 14:26:30 +03:00
Nicolay Mitropolsky fcc49f55e3 JavaFrameworkType.findExtension nullability fix 2018-08-08 13:50:54 +03:00
Alexander Udalov 5dadddaecd Fix version-specific bunch files for KotlinTestUtils
After 5da8ce844a
2018-08-08 12:11:58 +02:00
Dmitry Savvinov a8e1a6a2a1 Add contract for 'synchronized'
^KT-25962 Fixed
2018-08-08 12:53:09 +03:00
Dmitry Savvinov a81fc9e9bc Add contract to checkNotNull overload without message
^KT-25303 Fixed
2018-08-08 12:50:38 +03:00
Dmitry Savvinov 952f67dafc Fix bogus smartcast on enum entry members
Previously, enum entries were treated by the data-flow subsystem similar
to other class/singletons. As a consequence, calls like
'Enum.ENTRY.property' had IdentifierInfo of 'property'.

However, specially for enum entries, descriptor of 'property' is one and
the same for all entries. It means that from the data-flow point of
view, 'Enum.ONE.property' and 'Enum.TWO.property' are *one and the same
data-flow values*.

It could obviously lead to some bogus smartcasts, so this commit
introduces separate IdentifierInfo.EnumEntry and uses it to build proper
qualified values.

^KT-20772 Fixed
2018-08-08 12:48:56 +03:00
Nicolay Mitropolsky ce6543b1cb 183: IdeaExtensionPoints.IDEA_COMPATIBLE_BUILD_NUMBER = "183.1" 2018-08-08 12:29:36 +03:00
Dmitry Savvinov 9472ded936 Minor: fix .txt dump
Was missed in commits a71f09022c
and bd9254597d
2018-08-08 12:12:15 +03:00
Dmitry Savvinov 2b8ca60c05 Add SKIP_JAVAC in tests where behaviour has diverged with IDEA resolve
See a71f09022c
2018-08-08 12:12:15 +03:00
Denis Zharkov e3bdde45de Intern canonical classes and parameters names in BinaryClassSignatureParser
Otherwise, a lot of duplicated strings are generated
2018-08-08 15:17:25 +07:00
Denis Zharkov 782f221ab5 Optimize memory-footprint for ClassifierResolutionContext
Use immutable maps for inner classes/type parameters
in nested contexts instead of making copies for each of them
2018-08-08 15:17:25 +07:00
Denis Zharkov 71a9ba4790 Minor. Move helpers for javaslang to a separate package 2018-08-08 15:17:25 +07:00
Denis Zharkov 3a8335d47f Optimize memory footprint for SlicedMapImpl in case it's empty
It might be useful in case of many delegating traces that
remain effectively empty themselves (up to 7M of empty maps in case of compilation of 'idea' module)
2018-08-08 15:17:25 +07:00
Denis Zharkov 8050869e45 Use THashSet for sets that are assumed to be big
Otherwise, a lot of memory is wasted on nodes instances

(cherry picked from commit 4922f87)
2018-08-08 15:17:25 +07:00
Denis Zharkov 2fd9b3ee35 Do not initialize SimpleFunctionDescriptorImpl::userDataMap if it's empty 2018-08-08 15:17:25 +07:00
Mikhail Glukhikh e6850bf007 Add "Call chain -> sequence" to 183 plugin 2018-08-08 11:02:58 +03:00
Mikhail Glukhikh c7e46d4998 Downgrade "Call chain -> sequence" to INFO level 2018-08-08 11:02:56 +03:00
Toshiaki Kameyama b638e91c2b Call chain --> Sequence: minor improvements
Related to KT-15476
2018-08-08 11:02:55 +03:00
Toshiaki Kameyama 7e28cb1fe3 Call chain --> Sequence: take termination into account
Related to KT-15476
2018-08-08 11:02:47 +03:00
Toshiaki Kameyama 108dea5b46 Introduce "Call chain on collection should be converted into 'Sequence'"
So #KT-15476 Fixed
2018-08-08 10:29:10 +03:00
takasy 76a98c8e67 KT-20357 Add sample code for Pair/Triple.toList 2018-08-07 21:27:16 +03:00
Ilya Gorbunov f41b410e1d Do not use projectTest helper to setup kotlinx-metadata-jvm
It sets up test instrumenter which cannot be used when running
these tests under JDK6.

Do not setup working dir, as there tests do not depend on it.
2018-08-07 21:27:16 +03:00
Alexey Sedunov 632dd05116 Misc: Fix compilation after rebase 2018-08-07 18:35:08 +03:00
Alexander Udalov b67d236857 Fix bunch files for KotlinToJVMBytecodeCompiler
After 1582354077
2018-08-07 16:13:16 +02:00
Sergey Rostov 839a6b5e60 JPS: Support new MPP model. 2018-08-07 15:59:43 +03:00
Alexey Sedunov ecf607d4fa Gradle: Implement new MPP model import 2018-08-07 15:59:41 +03:00
Sergey Igushkin caec846330 Improve Android libraries support: allow project dependency on a lib
* Add a platform type androidJvm that is one-way compatible (can
  consume but cannot be consumed) with jvm, register the matching
  strategy

* Write our attributes to Android's output configurations (this uses
  a naming convention that Android inherits from Java, but there's no
  public API at the moment for that)
2018-08-07 15:55:46 +03:00
Sergey Igushkin 3f60798848 Fix the use case of an old-style project depending on an MPP lib
* Setup the attributes for the resolvable and output configurations
2018-08-07 15:55:46 +03:00
Sergey Igushkin 3ff61f59a7 Implement dependsOn relation for Kotlin source sets
* Setup configurations' extendsFrom and inherit sources of source sets.
  This make it unnecessary to restore transitive dependencies of a
  source set at its use sites, since their sources and dependencies are
  already included.

* Use dependsOn during default configuration instead of compilation.source()
2018-08-07 15:55:45 +03:00
Sergey Igushkin 93943a565c Refactor Kotlin tasks provider & fix friend task matching with new MPP
* Parameterize with the target name and use it in the task names
* Get rid of separate task providers for common and js, use the default
  with an appropriate target name
2018-08-07 15:55:45 +03:00