Commit Graph

48151 Commits

Author SHA1 Message Date
Ilmir Usmanov 4a7703ed66 Implement correct is check for SuspendFunction
Let callable references implement SuspendFunction
Do not generate CHECKCAST SuspendFunction when LV is 1.2

 #KT-25825: Fixed
2018-08-22 16:21:27 +03:00
Nicolay Mitropolsky 9eb612a605 CreateCallableFromUsageFix always calls openInEditor to force proper editor and focus 2018-08-22 15:03:01 +03:00
Nicolay Mitropolsky 18db40474a KotlinElementActionsFactory uses createAddMethodActions to create properties 2018-08-22 15:03:01 +03:00
Dmitry Petrov 533f87ac33 Use proper KotlinType for prefix increment/decrement
Otherwise inline class values (such as UByte) are boxed incorrectly,
see KT-26219.
2018-08-22 12:24:50 +03:00
Toshiaki Kameyama f1dc09f839 Add postfix template for the spread operator #KT-26249 Fixed 2018-08-22 10:56:39 +03:00
Alexey Tsvetkov 32d910320f Annotate KotlinNativeCompile#outputFile 2018-08-21 23:49:42 +03:00
Sergey Igushkin ef85fe7ab2 Always apply the java-base plugin from the new MPP plugin
This fixes misconfigured test tasks and the `Usage` attribute
compatibility rule missing that is added by `java-base`.

Issue #KT-26301 Fixed
2018-08-21 22:54:50 +03:00
Sergey Igushkin 2040cdde4b Add missing Gradle task input path sensitivity
Fix after the commit 0f003802f
2018-08-21 22:54:49 +03:00
Anton Bannykh 04b04f919d JS: fix complex nested cross-module inlining (KT-26117 fixed) 2018-08-21 20:42:02 +03:00
Denis Zharkov 16a27d593c Optimize memory-footprint for RemoteLookupTrackerClient
Observations:
- In case of !requiresPosition we don't need to track position
- Also, in the latter case we don't need scopeKind (implicit contract)
- There were a lot of LookupInfo instances having two references
(fileName/scopeFqName) pointing to the same strings.
Looks like in common case (reasonable amount of files/fqnames) it's more
sensible to group lookups in the two-level-tree (implemented with nested maps)

It's expected to decrease memory consumption up to 15M in case of compiling
`idea` module in Kotlin project
2018-08-21 18:18:43 +03:00
Alexander Udalov e41e28271b Use kotlinx-metadata-jvm of version 0.0.4 in kotlin-reflect build script
To prevent various problems with non-shaded artifact (shading was added
in 0.0.3)
2018-08-21 17:12:02 +02:00
Alexander Udalov 59e2101a25 Support reading binary metadata of the next major release
Already existing tests testRequireKotlinInNestedClassesAgainst14{,Js}
now check that there's no error when loading a module/class with
metadata version 1.4.0

 #KT-25972 Fixed
2018-08-21 17:12:02 +02:00
Alexander Udalov 852760b3b0 Report error on incompatible .kotlin_module files in classpath
Also remove obsolete test wrongAbiVersionNoErrors

 #KT-25973 Fixed
 #KT-26266 Open
2018-08-21 17:12:02 +02:00
Alexander Udalov 4f11812668 Report error instead of throwing exception in JvmPackagePartProvider 2018-08-21 17:12:02 +02:00
Sergey Igushkin a71c66a82f Fix the SourceSet.projectDefault() extension adding sources to resources
The `include` calls were effectively made on the `resources`
`SourceDirectorySet`, which meant including '**' from 'src' as well.

Since the 'SourceDirectorySet' API is quite limited and does not support
specifying includes/excludes separately, configure the
`ProcessResources` task instead.
2018-08-21 18:05:52 +03:00
Sergey Igushkin 674e464230 Fix Kotlin source directories not added into the Java source set srcDirs
Before the new MPP, Kotlin source directories were added to the Java
source set's `allJava` and `allSource` by all of the Kotlin plugins,
including common and JS ones. As it turned out, this was required by the
IntelliJ Gradle import.

* Make all `KotlinSourceSetProcessor`s (not just JVM) check whether a
  compilation has a Java source set and add the Kotlin source
  directories to `allSource` and `allJava`

* Also disable the unclear resource `exclude` for the Java source set
  that filters Kotlin source directories out of the resources

Issue #KT-26020 Fixed
Issue #KT-26267 Fixed
2018-08-21 18:05:52 +03:00
Vyacheslav Gerasimov f4eee4c2e4 as33: Restore gradle-java.xml 2018-08-21 17:38:58 +03:00
Zalim Bashorov 503fcd5cd3 [JS FE] Minor: cleanup JsExternalChecker.kt 2018-08-21 17:09:34 +03:00
Zalim Bashorov 589085369e [JS FE] Unify how the compiler checks parameters and return types for external declarations 2018-08-21 17:09:33 +03:00
Zalim Bashorov 9d0b880f67 [JS FE] Prohibit inline classes as parameter type and return type of external declarations
#KT-26171 Fixed
2018-08-21 17:09:33 +03:00
Zalim Bashorov 839bce5236 [JS FE] Prohibit external inline classes
#KT-26138 Fixed
2018-08-21 17:09:33 +03:00
Roman Elizarov 4fe2730f4a SuccessOrFailure.getOrDefault 2018-08-21 17:07:20 +03:00
Alexander Udalov b6bf1604ea Regenerate tests 2018-08-21 15:54:04 +02:00
Vyacheslav Gerasimov 4bfa2a3957 as33: Add missing GooglePluginUpdateVerifier 2018-08-21 16:36:22 +03:00
Vitaliy Bibaev 4830c9a13d Fix broken tests compilation for AS and IDEA 173 after Sequence Debugger merging (#1820)
* Add dependency on stream debugger for tests in IDEA 173

* Fix compilation error for tests with IDEA 173

* Fix compilation issues with Android studio and sequence debugger tests
2018-08-21 16:23:45 +03:00
Alexey Sedunov 788606445e MPP: Support configurations with metadata 2018-08-21 15:35:43 +03:00
Alexey Sedunov acbe299126 MPP: Support language settings in new model import 2018-08-21 15:35:42 +03:00
Alexey Sedunov c45608a46e MPP: Restore non-Android content roots dropped by AS3.1 2018-08-21 15:35:42 +03:00
Alexey Sedunov a5de065d7c MPP: Support Android platform in new model import 2018-08-21 15:35:42 +03:00
Alexey Sedunov b983c93930 MPP: Add ImportedModule for non-Android source set modules
The goal is to work around model disposal service
which discards module data without ImportedModule instance
2018-08-21 15:35:42 +03:00
Alexey Sedunov 80102fc2bc Test Support: Check availability of test plugins in Gradle run configs
#KT-26228 Fixed
2018-08-21 15:35:42 +03:00
Alexander Udalov 3442c7385f Fix compilation in KotlinTestUtils for IDEA 173 2018-08-21 14:05:07 +02:00
Alexander Udalov 97c0f1712a Fix compilation in KotlinTestUtils for AS 3.1 & 3.2 2018-08-21 14:03:28 +02:00
Ilmir Usmanov 932b76a3f3 Minor. Unmute test 2018-08-21 14:13:19 +03:00
Alexander Udalov f069686a14 Minor, use resolveSibling in getAbsolutePaths 2018-08-21 12:49:11 +02:00
Alexander Udalov e56374908e Disallow using optional annotations outside common module sources
#KT-25196 Fixed
2018-08-21 12:49:10 +02:00
Alexander Udalov 0f003802fe Introduce -Xcommon-sources and pass it correctly from build tool plugins
#KT-25196 In Progress
2018-08-21 12:49:10 +02:00
Denis Zharkov d35e73d29b Get rid of COROUTINE_SUSPENDED replacement in SuspendFunction wrappers 2018-08-21 13:46:01 +03:00
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