Commit Graph

42148 Commits

Author SHA1 Message Date
Dmitry Savvinov edd3f76e7b Add contract for takeUnless 2017-10-13 18:43:39 +03:00
Dmitry Savvinov 0b88e7cfd0 Annotate contract DSL with @SinceKotlin 2017-10-13 18:43:39 +03:00
Alexander Udalov 5f775497e2 Add Kotlin package FQ name to kotlin.Metadata
It might differ from the JVM package FQ name if the JvmPackageName
annotation is used. This will be useful for faster indexing in the IDE
and for reflection
2017-10-13 16:23:07 +02:00
Dmitry Petrov 16b7bece46 Fix constant expression inlining logic
Constant expressions are inlined if they do not depend on non-inlineable
vals.
Java constants are always inlined.
Kotlin constants are inlined in LV 1.1+.
2017-10-13 17:01:42 +03:00
Yan Zhulanow 5acc992956 Disable uninitialized object copying checks for Parcelable writeToParcel() to createFromParcel() 2017-10-13 16:35:42 +03:00
Yan Zhulanow 824e0a072e Minor: Add dependency to android-extensions-runtime to get rid of compile errors in IDE 2017-10-13 16:35:41 +03:00
Yan Zhulanow eb39c4c590 Tests: Do not search for android-extensions-runtime in KOTLIN_PATH 2017-10-13 16:35:40 +03:00
Mikhail Zarechenskiy 61d1963ddb Mark incompatibilities related to the declaration signature as STRONG 2017-10-13 16:14:43 +03:00
Mikhail Zarechenskiy d557c19a88 Test for consistent modality check with implicit and explicit override
Test for KT-20680
2017-10-13 16:14:40 +03:00
Mikhail Zarechenskiy b2dc82f17e Improve diagnostic for non-actual declaration with weak incompatibility 2017-10-13 16:14:17 +03:00
Mikhail Zarechenskiy d0cbd73307 Don't report incompatibility expect/actual errors on usual overloads
Divide incompatibility on two groups: strong and weak. Strong incompatibility means that if declaration with such incompatibility has no `actual` modifier then it's considered as usual overload and we'll not report any error on it.

 #KT-20540 Fixed
 #KT-20680 Fixed
2017-10-13 16:14:14 +03:00
Mikhail Zarechenskiy eb828e3497 Report errors about incompatible constructors of actual class
#KT-20540 In Progress
 #KT-20680 In Progress
2017-10-13 16:13:40 +03:00
Ilya Gorbunov 748dbc382c Advance bootstrap to 1.2.0-dev-92 2017-10-13 15:17:34 +03:00
Sergey Igushkin 9d62bb3561 (minor) Reorder args help in test data after the property was renamed 2017-10-13 14:02:42 +03:00
Dmitry Petrov 08b7578e61 Add -Xnormalize-constructor-calls=enable to stdlib submodules 2017-10-13 10:17:13 +03:00
Pavel V. Talanov df4b90fcb6 Scripts: Accept objects as DependenciesResolver implementations
Fixes DependenciesResolver.NoDependencies causing "missing constructor without parameters" warning
2017-10-12 19:22:59 +03:00
Simon Ogorodnik 4972dbfc2d KT-17165: Support array literals in annotations in completion
#KT-17165 fixed
2017-10-12 18:15:53 +03:00
Zalim Bashorov beec788bd4 KJS: improve declaration for JS Promise and add helpers to simplify some usecases
* add `then` with only one parameter to make usages from Kotlin more idiomatic
* add overload static `resolve` which accepts Promise<S> according to the spec
* add helper functions for `then` to simplify chained usages
  when Promise is returned from `then` or `catch` (workaround for KT-19672)
2017-10-12 18:07:09 +03:00
Simon Ogorodnik 30853d5f85 Show missing deps when preloaded deps not found 2017-10-12 17:34:55 +03:00
Alexander Udalov f46c509b31 Regenerate tests 2017-10-12 16:18:29 +02:00
Anton Bannykh b839ba5015 JS: correct imports in kotlin.test-js integration test 2017-10-12 15:41:54 +03:00
Sergey Igushkin 260244fa09 (minor) Fix bad file content replacement in a test. 2017-10-12 15:14:07 +03:00
Alexey Andreev 8a8891d7c9 Fix Kotlin/JS compiler under JRE9
See KT-20653, KT-20650
2017-10-12 14:39:47 +03:00
Anton Bannykh e5cfd198c7 JS: temporarily remove @BeforeTest and @AfterTest checks from integration test until bootstrap compiler supports the annotations. 2017-10-12 14:24:59 +03:00
Anton Bannykh c57b0b4cbc JS: rename @Before to @BeforeTest and @After to @AfterTest for better JUnit compatibility 2017-10-12 14:24:59 +03:00
Sergey Igushkin bd75a47a07 Update Android license string for Gradle tests
(cherry picked from commit 2697445)
2017-10-12 14:23:32 +03:00
Stanislav Erokhin 1f546ea1ae Revert "Temporary change default behavior for constructor call normalization"
This reverts commit 2e8cda8103.
2017-10-12 14:01:39 +03:00
Nikolay Krasko bab79e86d6 Revert old id for run configurations (KT-20621)
Currently there's no way for smooth IDs migration.

 #KT-20621 Fixed
2017-10-12 12:00:35 +03:00
Nikolay Krasko bc6f2f6659 Request path from URI before construction file 2017-10-12 12:00:35 +03:00
Nikolay Krasko 3c0329b458 Fix tests failure on Windows agents because of wrong slashes 2017-10-12 12:00:35 +03:00
Nikolay Krasko e31492f96f Always create psi files in tests from text without '\r' 2017-10-12 12:00:35 +03:00
Nikolay Krasko b64ab10e89 Fix MavenUpdateConfigurationQuickFixTest tests on Windows agents 2017-10-12 12:00:34 +03:00
Dmitry Savvinov d4d7946e6a Effects: add diagnostic tests on functions from stdlib
==========
Introduction of EffectSystem: 18/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov fb03656e99 Effects: annotate functions in stdlib with contracts
build.xml was also changed to incorporate contracts in
mock-runtime-for-tests.jar, because it is using Standard.kt, which, in
turn, has contract-annotated functions.

==========
Introduction of EffectSystem: 17/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov 4434db4d69 Effects: add diagnostic tests on contracts
- Make AbstractDiagnosticsTest dump function contracts
- Add diagnostics tests on parsing contracts
- Add diagnostics tests on smartcats in presence of functions with
contracts
- Add diagnostics tests on initialization and flow in presence of
in-place called lambdas

==========
Introduction of EffectSystem: 16/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov f487525a1d Effects: add cfg-tests on inlined lambdas
==========
Introduction of Effect System: 15/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov a986999226 Effects: support cfg tests with stdlib
- Add method "doTestWithStdLib" which launches test with stdlib
- Change GenerateTests.kt to generate cfg tests with stdlib from
folders 'cfgWithStdLib' and 'cfgVariablesWithStdLib'

==========
Introduction of Effect System: 14/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov d20c770a25 Effects: add test on (de)serialization of contracts
- Add ContractDescriptorRenderer
- Add option to dump function contracts in DescriptorRendererOptions
- Add parsing of LANGUAGE_VERSION directive in AbstractLoadJava
- Add tests on serialization-deserializaton identity of contracts

==========
Introduction of EffectSystem: 13/18
2017-10-12 11:55:26 +03:00
Dmitry Petrov 75ad20f823 Build compiler, plugin & stdlib with constructor call normalization
Required as a workaround for Proguard bug
https://sourceforge.net/p/proguard/bugs/664/

When processing bytecode generated by Kotlin compiler for constructor
call with stack spilling during arguments evaluation, ProGuard performs
an equivalent transformation for the bytecode, but emits invalid stack
frame information.
In JVM 1.6, such invalid stack frames are ignored and re-evaluated by
JVM during bytecode verification.
In JVM 1.8, such invalid stack frames cause VerifyError.
2017-10-12 10:59:57 +03:00
Leonid Stashevsky 13880b18ea Rename android-annotations -> kotlin-annotations-android
also rewrite it's buildscript in kts and add to compiler tests dependencies
2017-10-12 09:11:33 +03:00
Ilya Gorbunov 781ca6d2b5 Inline swap function, do not use deprecated floor. 2017-10-12 06:06:26 +03:00
Pap Lorinc e640867238 Provide java.util.Collections#shuffle as extensions for collections in JS
#KT-2460
2017-10-12 06:06:26 +03:00
Ilya Gorbunov 6fc87c532e Restore dependency to build kotlin-runtime before BCV tests 2017-10-12 06:06:12 +03:00
Ilya Gorbunov aab604d154 Improve math docs
Add links from log to ln, log2, log10.
Format lists in docs so that they are pretty in quick doc window.
2017-10-12 05:58:04 +03:00
Sergey Igushkin 873994545c Clear Java srcDirs in JS and multiplatform projects.
Issue #KT-20217 Fixed

(cherry picked from commit a4f8a5e)
2017-10-11 20:32:59 +03:00
Sergey Igushkin dff15a3d59 Fix multiplatform projects communication broken if the plugin is loaded
more than once in different class loaders.

Issue #KT-20634 Fixed

(cherry picked from commit c65f210)
2017-10-11 20:32:11 +03:00
Sergey Igushkin f211985332 Re-generate Gradle options to have allWarningsAsErrors updated.
Issue #KT-20553 Fixed
2017-10-11 20:31:23 +03:00
Sergey Igushkin 5edf8664fb Rename warningsAsErrors -> allWarningsAsErrors in args
(cherry picked from commit 377acf5)
2017-10-11 20:13:25 +03:00
Ilya Gorbunov 71e97e32e0 Regenerate gradle options to include warningsAsErrors 2017-10-11 19:23:57 +03:00
Ilya Gorbunov 345e85974e Bootstrap from intermediate teamcity build 2017-10-11 19:23:55 +03:00