Commit Graph

21174 Commits

Author SHA1 Message Date
Alexander Udalov 9c5256434c Check function name in isGenericToArray/isNonGenericToArray
#KT-24427 Fixed
2018-05-25 14:55:26 +02:00
Dmitry Petrov ab455d6572 IR: IrSimpleFunction.correspondingProperty: IrProperty?
Non-null for a property accessor, points to a corresponding property.
2018-05-25 09:40:51 +03:00
Dmitry Petrov 216dbf9637 Drop IrDeclarationKind 2018-05-25 09:40:51 +03:00
Dmitry Petrov 2a0e7eb412 IR: split IrUtils.kt into common and backend-specific part 2018-05-25 09:40:51 +03:00
Roman Artemev 6d29aab5e2 [JS IR BE] Implement vararg in JS BE 2018-05-24 21:36:12 +03:00
Roman Artemev 3ec722eaa1 [JS IR BE] Implement labeled loops 2018-05-24 21:07:09 +03:00
Roman Artemev 6811c87fc7 [JS IR BE] Implement block decomposition lowering 2018-05-24 21:06:49 +03:00
Ilmir Usmanov 6c3d69f74c Minor: Add KotlinTypeMapper constructor overload 2018-05-24 15:42:53 +03:00
Alexander Udalov d122406dca Map Kotlin TYPE target to Java TYPE_USE in bytecode
And TYPE_PARAMETER -> TYPE_PARAMETER similarly

 #KT-23857 Fixed
2018-05-24 14:41:22 +02:00
Alexander Udalov bf3419c3bd Introduce OptionalExpectation for annotations missing on some platforms
This commits adds a new annotation OptionalExpectation to the standard
library, which is experimental. To enable its usage, either pass
'-Xuse-experimental=kotlin.ExperimentalMultiplatform' as a compiler
argument, or '-Xuse-experimental=kotlin.Experimental' and also annotate
each usage with `@UseExperimental(ExperimentalMultiplatform::class)`

 #KT-18882 Fixed
2018-05-24 13:14:51 +02:00
Alexey Sedunov efc369dbe4 Misc: KtParsingTestCase fixes for 172/173/AS3.1 bunches 2018-05-24 02:54:00 +03:00
Yan Zhulanow 6e362f6734 Kapt: Remove kapt1 from Kotlin compiler 2018-05-24 01:01:51 +03:00
Yan Zhulanow 662b79780d Kapt: Remove kapt1 support from Gradle and incremental compilation 2018-05-24 01:01:51 +03:00
Mikhail Glukhikh 51fba03253 Experimental fixes: introduce "Add @UseExperimental" #KT-22760 Fixed 2018-05-23 19:00:51 +03:00
Mikhail Glukhikh f404d6c97a Experimental fixes: introduce "add annotation" (KT-22760) 2018-05-23 18:59:22 +03:00
Alexey Sedunov 909ff3a7ec Misc: Migrate to IDEA 181.3 2018-05-23 16:39:20 +03:00
Roman Artemev 8862b26bbd Add test case to check delegation of suspend method 2018-05-23 14:59:59 +03:00
Mikhael Bogdanov f826a253e3 Generate @JvmDefault for property accessors in LIGHT_CLASS MODE 2018-05-23 13:55:38 +02:00
Alexander Udalov 402ceefe60 Regenerate tests 2018-05-23 12:26:10 +02:00
Toshiaki Kameyama 8271e85dbb ReplaceArrayOfWithLiteralInspection: Remove unnecessary parentheses
#KT-21878 Fixed
2018-05-22 17:33:25 +03:00
Dmitry Petrov 8dbfd85d26 psi2ir: Support class literals in annotations 2018-05-22 15:29:01 +03:00
Alexander Udalov e7f6ac1e50 Fix data class equals codegen for type parameters with interface bounds
#KT-24474 Fixed
2018-05-22 13:45:21 +02:00
Mikhail Zarechenskiy 542b2abafa Fix migration change for new inference about coroutines
Now it's possible after 9209222

 #KT-23553 Fixed
2018-05-22 10:11:14 +03:00
Dmitry Petrov c22dfeaf82 KT-24156 Do not optimize for-loops over Strings with custom iterator
'fun CharSequence.iterator()' is an extension function, so one can
overload it with custom implementation.
Other "predefined" containers such as arrays and ranges have member
'fun iterator()', so these containers are not affected.

Check that 'iterator' call corresponds to an extension function
'iterator' defined in package 'kotlin.text' with a receiver of type
'kotlin.CharSequence'.

 #KT-24156 Fixed
2018-05-22 10:02:52 +03:00
Ilmir Usmanov f568149863 Implement new assert semantics in back-end
Previously, assert was just a regular function and its argument used to
be computed on each call (even if assertions are disabled on JVM).
This change adds support for 3 new behaviours of assert:
* always-enable (independently from -ea on JVM)
* always-disable (independently from -ea JVM)
* runtime/jvm (compile the calls like javac generates assert-operator)
* legacy (leave current eager semantics) - this already existed

Default behaviour is legacy for now.

The behavior is changed based on -Xassertions flag.
 #KT-7540: Fixed
2018-05-21 20:43:37 +03:00
Mikhail Zarechenskiy 1b809413d2 [NI] Fix updated type for lambda, use original type for substitution
#KT-24367 Fixed
2018-05-21 17:56:11 +03:00
Dmitry Savvinov 68dbeeac7a Introduce LanguageFeature.Kind
Mainly, Kind affects 'forcesPreReleaseBinaries' and
'enabledInProgressiveMode' flags, and allows to cover common
combinations of those flags.
2018-05-18 16:16:23 +03:00
Dmitry Savvinov c33b7377da Add support of internal arguments for language feature settings
Arguments are passed in form '-XXLanguage:+LanguageFeatureName' for enabling
LanguageFeature.LanguageFeatureName, and '-XXLanguage:-LanguageFeatureName'
for disabling.

Note that they do override other settings, including 'language-version'
or extra ('-X') args.
2018-05-18 16:16:23 +03:00
Dmitry Savvinov ae119a09eb Minor: reformat CommonToolArguments 2018-05-18 16:16:23 +03:00
Dmitry Savvinov 9ba450ffc5 Minor: reformat parseCommandLineArguments, apply intentions 2018-05-18 16:16:23 +03:00
Dmitry Savvinov 9876ecd6df Minor: reformat CommonCompilerArguments 2018-05-18 16:16:23 +03:00
Dmitry Savvinov e8181c0473 Introduce -Xprogressive 2018-05-18 16:16:23 +03:00
Mikhael Bogdanov 2e9bf49921 Don't skip coercion to nullable Unit in codegen 2018-05-18 12:58:01 +02:00
Mikhael Bogdanov 73bd97a134 Write deprecation flag 2018-05-18 12:58:01 +02:00
Mikhael Bogdanov 61f444f846 Avoid empty clinit generation 2018-05-18 12:58:00 +02:00
Mikhael Bogdanov aece29a95b Properly generate annotation classes 2018-05-18 12:57:59 +02:00
Mikhael Bogdanov 893e843648 Code clean 2018-05-18 12:57:59 +02:00
Mikhael Bogdanov 083bcade5f Minor. Reformat 2018-05-18 12:57:58 +02:00
Alexander Udalov 11653c6800 Move checkTypePosition to VarianceChecker in frontend
This is a partial revert of 279ff0b, which is no longer needed because
of the previous commit
2018-05-18 11:56:14 +02:00
Alexey Tsvetkov ea255ac854 Rebuild when dependency was built non-incrementally 2018-05-17 20:55:27 +03:00
Alexey Tsvetkov 53266300d4 Implement module detection for Gradle IC with Android
#KT-22431 fixed
2018-05-17 20:55:26 +03:00
Alexey Tsvetkov e5cdc64f4f Track changes for jar files for non-Android Gradle projects 2018-05-17 20:55:26 +03:00
Alexey Tsvetkov 6a45310830 Remove global artifact history cache in Gradle
Each Kotlin task now writes build history to separate file.
A map of output directories to history files is used to get changes for
modified files.

    #KT-22623 fixed
2018-05-17 20:46:52 +03:00
Alexander Udalov 598e89c03d Update bunch files for KotlinTestUtils after 9dbeb79340 2018-05-17 12:43:30 +02:00
Alexander Udalov d7c77e522c Do not render UnsafeVariance in tests on built-ins
This fixes LoadBuiltInsTest which failed because UnsafeVariance was
rendered in the lazy resolve result, but was not in the deserialized
result (because it has SOURCE retention)
2018-05-17 12:38:57 +02:00
Nikolay Krasko 580e2972db Initial settings for incompatible API inspection 2018-05-17 12:27:30 +03:00
Nikolay Krasko a95ec598f2 Refactoring: move accessor name generators to companion object for reuse 2018-05-17 12:27:28 +03:00
Alexander Udalov e1a4bd01f5 Add anonymousObjectOriginName/lambdaClassOriginName to kotlinx-metadata
#KT-21320
 #KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov 1b15619457 Move BinaryVersion to metadata, JVM versions to metadata.jvm
To be used in kotlinx-metadata
2018-05-16 17:16:22 +02:00
Alexander Udalov 9dbeb79340 Test kotlinx-metadata and kotlinp on compiler test data
#KT-23198
2018-05-16 17:16:21 +02:00