Commit Graph

49669 Commits

Author SHA1 Message Date
Sergey Igushkin 9f2e5cdc4d Propagate the subplugin options from the tasks to the source sets
If a source set is used in only one compilation, take the options from
its compile task.

If a source set is used by multiple compilations of a single target,
either choose the 'main' compilation or choose any (this will happen
for Android, and it looks OK for the first time). If there are multiple
compilations of different targets, use the metadata compilation.

Issue #KT-27499 In Progress
2018-10-16 14:30:24 +03:00
Sergey Igushkin e573911e16 Fix the format used by Kotlin/Native tasks for compiler plugin args
The correct format is "-P arg1", not "-Parg1".
2018-10-16 14:30:24 +03:00
Sergey Igushkin ee63a6b3af Don't apply the Android Extensions subplugin to non-Android JVM tasks
In a multiplatform project with both Android and non-Android JVM targets
the subplugin should only affect the tasks of the Android target
2018-10-16 14:30:24 +03:00
Sergey Igushkin 5db23f1a81 Support -Xuse-experimental in the new MPP languageSettings { ... } DSL
Add the corresponding Gradle plugin DSL, consistency checks, and logic
for propagating these settings to the compiler during build.

Issue #KT-26840 In Progress
2018-10-16 14:30:24 +03:00
Sergey Rostov bde6d841c1 IC: move CacheVersionManager from build_common to jps plugin, tests 2018-10-16 13:33:24 +03:00
Sergey Rostov 0d1f7965d4 JPS, CacheAttributesManager: remove unused methods 2018-10-16 12:29:58 +03:00
Sergey Rostov d91f6f8c43 IC: move CacheVersionManager from build_common to jps plugin 2018-10-16 12:29:58 +03:00
Sergey Rostov 940861c245 IC: remove CacheVersionManager usages from build_common.
They are kept up to date but was never used.
2018-10-16 12:29:58 +03:00
Sergey Rostov 5232f080d6 JPS: Fix updating cache format version for rebuilt targets by removing i/o optimization
Problem: previously, format-version.txt file was deleted while cleaning
target output on rebuild. Since directory was deleted, cache
attributesDiff stored in memory was not updated. This causes that on
saveExpectedStateIfNeeded does nothing.

The right way to fix it is move cache version format diff into
AbstractIncrementalCache, and override `clean()` method. But this is
hard to do for lookup storage, since used compilers set (jvm/js) will
known only after context init. This can be done by moving `expected`
attributes out of manager, but this is huge change for small benefit.

So, the optimal way for now is to write version for each build, even if
it is not changed.

#KT-27044 Fixed
2018-10-16 12:29:58 +03:00
Alexey Sedunov cf31e4d58c MPP: Recover content root import accidentally removed earlier 2018-10-16 12:05:19 +03:00
Alexey Sedunov fea397a2ad MPP: Support MPP-dependent Java modules in Android projects
#KT-27265 Fixed
2018-10-16 12:05:19 +03:00
Alexey Sedunov dcdd42ba00 MPP: Add Android tests for new MPP 2018-10-16 12:05:19 +03:00
Alexey Sedunov da06e49b19 MPP: Merge module dependencies if one of them has COMPILE scope 2018-10-16 12:05:18 +03:00
Alexey Sedunov d36ee02499 Gradle: Retrieve AndroidModuleModel using IdeModifiableModelsProvider
Otherwise it may be null if module is just created by the import
2018-10-16 12:05:18 +03:00
Alexey Sedunov 3a0e539eee MPP: Add MPP source roots to dependent non-MPP module
#KT-27365 Fixed
2018-10-16 12:05:18 +03:00
Alexey Sedunov 558345b057 MPP: Assign TEST scope to dependencies of test source sets
#KT-26868 Fixed
2018-10-16 12:05:17 +03:00
Alexey Sedunov 523b662680 MPP: Update Kotlin version in tests to 1.3-RC3 2018-10-16 12:05:17 +03:00
Alexey Sedunov abec171685 Native: Register '.klib' extension through FileTypeFactory 2018-10-16 12:05:17 +03:00
Alexey Sedunov ca2367f2b5 MPP: Rewrite ImportedModule name instead of wrapping it
Otherwise this instance is not deserialized properly
breaking import on opening project in AS

 #KT-27485 Fixed
 #KT-27473 Fixed
2018-10-16 12:05:17 +03:00
Denis Zharkov bda1ef8d57 Do not run bytecode optimization passes for in bodyless modes
FunctionsFromAnyGeneratorImpl has been changed because previously
it didn't satisfy annotation visitor contract but it wasn't important
for MethodNode
2018-10-16 11:16:53 +03:00
Denis Zharkov 26da0b9e7e Do not call default constructor of SourceInterpreter in subclasses
It became illegal since asm-6.x

See https://gitlab.ow2.org/asm/asm/blob/c72a86bd5f48a308537695213d3a23ac35a57d55/asm-analysis/src/main/java/org/objectweb/asm/tree/analysis/SourceInterpreter.java#L56

 #KT-27572 Fixed
2018-10-16 11:16:53 +03:00
Valentin Kipyatkov c63eb18b3c Fixed nested class in companion object case 2018-10-16 08:41:43 +03:00
Valentin Kipyatkov 28e2683146 One more test 2018-10-16 08:41:42 +03:00
Valentin Kipyatkov 69f74b2a51 Fixed ShortenReferences for extension on companion object 2018-10-16 08:41:42 +03:00
Valentin Kipyatkov d4e0f53583 Fixed ShortenReferences for the case of extension for object 2018-10-16 08:41:42 +03:00
Dmitriy Dolovov 840ee66fd0 MPP Wizards: Clearer notation in generated build.gradle files
- Follow the same style as used in public documentation: https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html
- Use standard methods to get link task name, don't evaluate it manually
2018-10-16 10:20:06 +07:00
Georgy Bronnikov 4942ed5e7a Clean up backend.common.ir.IrUtils.kt 2018-10-15 21:52:50 +03:00
Georgy Bronnikov 376eef05f5 JVM_IR. Accessor lowering 2018-10-15 21:52:50 +03:00
Georgy Bronnikov a23aae590e JVM_IR. Avoid unbound symbols and declarations without parent 2018-10-15 21:52:50 +03:00
Toshiaki Kameyama 9b49c23668 Move lambda out: don't report in delegation #KT-27584 Fixed 2018-10-15 19:52:10 +03:00
Pavel Punegov 8ea8acc7f7 Set target backend to JVM for tests that have @JvmStatic annotations 2018-10-15 19:25:03 +03:00
Pavel Punegov ed64d42d45 Regenerate JS tests 2018-10-15 19:25:02 +03:00
Pavel Punegov eb6580acdd Return native ignore back.
K/N doesn't initialize companion objects if no methods were called from them
2018-10-15 19:25:02 +03:00
Pavel Punegov d9a8a00069 Make tests that use jvm-annotations be targeted to jvm backend 2018-10-15 19:25:02 +03:00
Pavel V. Talanov 8be3e902a8 ResolutionFacadeWithDebugInfo: do not wrap index not ready exception
Fixes problems where `catch (IndexNotReadyException)` blocks
    in IDEA code would not work
2018-10-15 15:10:50 +02:00
Pavel Punegov aab28e6cc7 Revert "Make coroutines test JVM-only"
This reverts commit 17b7bbce
2018-10-15 13:52:16 +03:00
Natalia Selezneva 648e8acbde Update testdata after the fix of KT-27095
(replace http with https configuring gradle project)
2018-10-15 12:28:43 +03:00
Dmitry Petrov b6be72bb11 Add more tests for inline classes
#KT-27416
 #KT-27513
2018-10-15 12:21:14 +03:00
Dmitry Petrov 0fd68d29f4 Support @JvmStatic in inline class companion object
#KT-27107
2018-10-15 12:21:14 +03:00
Dmitry Petrov 5304754e88 Generate specialized 'toString' for inline classes when possible
#KT-25613
2018-10-15 12:21:14 +03:00
Dmitry Petrov f68ce4b35b Support default parameter values for inline class constructors and funs
#KT-26908
 #KT-26554

Move default parameter value tests to separate directory
2018-10-15 12:21:14 +03:00
Dmitry Petrov 8ce1d09f8a Fix inline class coercion in default parameter values
#KT-27358
2018-10-15 12:21:14 +03:00
Natalia Selezneva c2315f065a Add test for script definitions settings 2018-10-15 11:32:49 +03:00
Natalia Selezneva 71e72ec6c2 Add button to open script settings from Multiple script definition notification 2018-10-15 11:32:49 +03:00
Natalia Selezneva 6596a6ba75 Allow to switch off script definitions
^KT-24465 Fixed
2018-10-15 11:32:48 +03:00
Natalia Selezneva 7826f44180 Save ScriptDefinitions order into kotlinScripting.xml
^KT-24465 In Progress
2018-10-15 11:32:48 +03:00
Natalia Selezneva 77e687df92 Change base class for ErrorGradleScriptDefinition (migrate to new API) 2018-10-15 11:32:48 +03:00
Natalia Selezneva 3f20453ccf Do not create multiple ErrorGradleScriptDefinitions 2018-10-15 11:32:48 +03:00
Natalia Selezneva 9ab4d727e9 Provide UI for changing the order of script definitions applicability
^KT-24465 In Progress
2018-10-15 11:32:47 +03:00
Natalia Selezneva 2df8adc50b Move option for auto-reloading script dependencies to 'Kotlin Scripting' page 2018-10-15 11:32:47 +03:00