Commit Graph

48113 Commits

Author SHA1 Message Date
Denis Zharkov ca39cc47c9 Support calling experimental coroutines API in JVM
The support is very limited, though

 #KT-25683 Fixed
2018-08-21 13:46:01 +03:00
Denis Zharkov 20c7a97bcd Make experimental/release COROUTINE_SUSPENDED reference the same instance
It's necessary when mixing experimental/release coroutines together

 #KT-25683 In Progress
2018-08-21 13:44:02 +03:00
Denis Zharkov db34555800 Use package property COROUTINE_SUSPENDED instead of enum entry
For sake of encapsulation: actual property content might be
different from the entry
2018-08-21 13:44:02 +03:00
Denis Zharkov 944b0d058a Allow calling some pieces of the experimental coroutine API
- Calling suspend functions is allowed
- Presence of suspend function type still makes declaration
unusable unless it belongs to a value parameter as a top-level type
containing less then three parameters

Still, warning should be emitted because they will become unsupported in 1.4

 #KT-25683 In Progress
2018-08-21 13:44:02 +03:00
Denis Zharkov c94b72680a Minor. Extract InstructionAdapter::emitInlineMarker 2018-08-21 13:44:02 +03:00
Alexander Udalov 1c2a9e4b21 Map annotation target TYPE -> TYPE_USE if JVM target >= 1.8
And TYPE_PARAMETER -> TYPE_PARAMETER similarly

 #KT-23857 Fixed
2018-08-21 12:38:05 +02:00
Alexander Udalov b7808ba24d Pass JvmTarget to KotlinTypeMapper
Also use KotlinTypeMapper.RELEASE_COROUTINES_DEFAULT instead of false in
FileRankingCalculator
2018-08-21 12:23:07 +02:00
Stanislav Erokhin f3e0470dcd Allow generic type parameter to have mixed constraints for @InlineOnly functions
#KT-19323 Fixed
2018-08-21 12:17:25 +03:00
Dmitry Petrov 7d4dfc87b1 Use proper KotlinType in get/set methods for property reference 2018-08-21 08:43:12 +03:00
Dmitry Petrov 6cd91e43bb Minor: reformat 2018-08-21 08:43:12 +03:00
Alexey Tsvetkov 272f9b8a10 Recompile all subclasses of changed classes
Previously inter-project IC recompiled only direct subclasses
of changed classes

    #KT-25455 fixed
2018-08-21 04:32:32 +03:00
Alexey Tsvetkov 73f7c2ef3c Use file trees in InspectClassesForMultiModuleIC
#KT-26208
2018-08-21 04:32:32 +03:00
Alexey Tsvetkov 41a47ea50f Minor: remove redundant default argument 'weakTesting = false' 2018-08-21 04:32:31 +03:00
Alexey Tsvetkov c9a62e078a Minor: remove GradleICReporter 2018-08-21 04:32:31 +03:00
Alexey Tsvetkov 30f3622b27 Implement inter-project JS IC with Gradle
#KT-25025 fixed
2018-08-21 04:32:31 +03:00
Alexey Tsvetkov 02af631e14 Minor: move tests for incremental compilation of Kotlin when Java changes 2018-08-21 03:53:57 +03:00
Alexey Tsvetkov 7ff7c71b96 Refactoring: extract function for getting classpath changes 2018-08-21 03:53:56 +03:00
Alexey Tsvetkov aeaf1d6633 Refactoring: introduce DirtyFilesContainer for better code reuse in IC 2018-08-21 03:53:56 +03:00
Alexey Tsvetkov 638c1eadff Avoid rebuild when '--verbose' is used in Gradle
#KT-23472 fixed
2018-08-20 23:41:11 +03:00
Alexey Tsvetkov d09629972a Use same system property to avoid deleting module file in JPS and Gradle 2018-08-20 23:41:11 +03:00
Ilmir Usmanov d3dbcae7a4 Get rid of typed create and invoke wherever possible
in coroutine lambdas.
 #KT-26243 Fixed
2018-08-20 21:33:24 +03:00
Mikhail Glukhikh 3bdf38e6b2 Refactoring: HasExpectedMarker (use not-null declarations) 2018-08-20 18:42:31 +03:00
Mikhail Glukhikh 8ef2c479e4 Refactoring: HasActualMarker (use not-null declarations) 2018-08-20 18:42:17 +03:00
Mikhail Glukhikh 9b29651371 Has actual (new MPP): handle possible actual in "common" module
Before this commit, we assumed all actual declarations are
in platform modules, and each platform has no more than one actual.
In new MPP, actual declarations can be also in common code,
and each platform as well as common code can include
more than one actual declarations for given expected.

#KT-26217 Fixed
2018-08-20 18:41:32 +03:00
Mikhail Glukhikh 18d43a2fce MPP wizard [web]: do not add Java to JVM module by default
This removes controversial behaviour during Gradle import,
now strange 'main' / 'test' source sets aren't added
2018-08-20 18:41:29 +03:00
Mikhail Glukhikh 41507a4deb MPP wizard [web]: add kotlin-test as dependency to all source sets
#KT-26239 Fixed
2018-08-20 18:41:28 +03:00
Dmitry Petrov b5f37d18b2 Fix inlining of functions with matching JVM signatures in same package
When two functions with matching JVM signatures in the same package
were inlined sequentially, inliner could take a wrong method body from
the cache due to MethodId clash. This manifested with inline classes,
but also was possible with some legal Kotlin overloads with matching
erasure.

Use internal name of the corresponding implementation owner class
instead of FQN of the containing declaration. Such MethodIds can't match
accidentally, because corresponding JVM method signatures would clash.
2018-08-20 14:12:34 +03:00
Mikhail Glukhikh f9bba3ca86 Reformat & cleanup: kotlinSpacingRules 2018-08-20 13:21:28 +03:00
Mikhail Glukhikh 4fd8d3b480 Add formatting rule "new line between { and when entry" 2018-08-20 13:21:22 +03:00
Mikhail Glukhikh ef094e78e3 Add when branches (minor): 'with import' -> 'with * import'
Change name of quick-fix to more descriptive one
2018-08-20 13:21:18 +03:00
Mikhail Glukhikh b031e34f8d Add when branches: include auto-import
Before this commit, enum / sealed class to add was not imported so
user had to import them himself. Now everything is auto-imported.
Separate "add with import" is kept but * import is now in mind there.
#KT-22330 Fixed
#KT-22354 Fixed
EA-108090 Fixed
2018-08-20 13:21:17 +03:00
Mikhail Glukhikh f3972bfdfe Ignore potential KNPE in "import all members" (see KT-22354) 2018-08-20 13:21:15 +03:00
Svyatoslav Kuzmich 7578dbf8f2 [JS BE] KT-22053 Fix constructor delegation of immediate subtype of Error 2018-08-20 12:08:30 +03:00
Dmitry Petrov 5045fa446a Prohibit recursive inline classes 2018-08-20 10:08:10 +03:00
Vitaliy.Bibaev 4f722dd32d Use heuristics for termination calls for java/streamex as well 2018-08-20 05:18:04 +03:00
Vitaliy.Bibaev 1f9004e1ae Minor: rename 'receiver' -> 'receiverValue' 2018-08-20 05:18:04 +03:00
Vitaliy.Bibaev e1acd2e2c5 Use heuristics with call name to avoid redundant types resolve 2018-08-20 05:18:03 +03:00
Vitaliy.Bibaev 9b24600b0f Minor: rename KotlinTypes -> KotlinSequenceTypes 2018-08-20 05:18:03 +03:00
Vitaliy.Bibaev 0ba506c1ec Use partial resolve 2018-08-20 05:18:03 +03:00
Vitaliy.Bibaev 3bc7944e0c Remove commented code 2018-08-20 05:18:03 +03:00
Vitaliy.Bibaev 320cb18746 Remove dependency on stream-debugger plugin from 'idea' project 2018-08-20 05:18:03 +03:00
Vitaliy.Bibaev 5779eacb23 Use KotlinBuiltIns.FQ_NAMES for type names 2018-08-20 05:18:03 +03:00
Vitaliy.Bibaev e158c9191c Mention sequence debugger for 181 and 183 IDEA 2018-08-20 05:18:03 +03:00
Vitaliy.Bibaev db5e6e1ddc Minor: remove redundant field 2018-08-20 05:18:03 +03:00
Vitaliy.Bibaev 57ac7e0fb9 Remove @author JavaDoc from all my files 2018-08-20 05:18:02 +03:00
Vitaliy.Bibaev 55055ce3aa Remove redundant LibraryUtil.kt 2018-08-20 05:18:02 +03:00
Vitaliy.Bibaev c1ebc2788d Minor fixes after inspecting code-style 2018-08-20 05:18:02 +03:00
Vitaliy.Bibaev 2d22267cf1 Apply project code style settings to sequence debugger code 2018-08-20 05:18:02 +03:00
Vitaliy.Bibaev 245a358ea8 Remove unused code 2018-08-20 05:18:02 +03:00
Vitaliy.Bibaev 1986309a07 Set up KotlinPsiChainBuilderTestCase for current environment 2018-08-20 05:18:02 +03:00