Commit Graph

36832 Commits

Author SHA1 Message Date
Mikhail Zarechenskiy b0c3c7463b Fix internal compiler error about arithmetic exception
#KT-8264 Fixed
2017-01-26 03:39:50 +03:00
Kirill Rakhman ca86dbee72 Android: Add intention to generate View constructor convention
Fixes #KT-15150
2017-01-26 00:56:33 +03:00
Kirill Rakhman f74c0950d2 use property syntax 2017-01-26 00:56:33 +03:00
Ilya Gorbunov 384b6410f2 New minus overloads appears in quickfix test data 2017-01-25 22:08:48 +03:00
Ilya Gorbunov 2e0209395a Restore Map.minus(key/keys) and Map.minusAssign(key/keys) operators.
#KT-13353
2017-01-25 22:08:46 +03:00
Ilya Gorbunov 288e0b3c7e Allow to use Regex matches CharSequence and CharSequence matches Regex in infix form
#KT-14279
2017-01-25 21:31:42 +03:00
Ilya Gorbunov 387564d140 JS: Rewrite RegExpMatch without @nativeGetter 2017-01-25 21:29:53 +03:00
Ilya Gorbunov 03019dc638 Deprecate qunit (with ERROR) and jquery (with WARNING) 2017-01-25 21:29:53 +03:00
Ilya Gorbunov 70f3cee9ff Harden deprecations to prepare for cleanup. 2017-01-25 21:29:53 +03:00
Ilya Gorbunov 1ccc655cdc Harden deprecation level on remaining API in java.util in kotlin-stdlib-js 2017-01-25 21:29:53 +03:00
Simon Ogorodnik 3948c1e007 KT-15153 Support typeAlias extensions in completion and add import
#KT-15153 fixed
2017-01-25 20:47:48 +03:00
Dmitry Jemerov 9bc45a9c91 Correctly dispose KotlinCoreEnvironment after use 2017-01-25 17:30:10 +01:00
Alexey Andreev 1c8478e46b JS: fix translation of enum entries without parentheses that call secondary constructors, constructors with default parameters and varargs. See KT-15900, KT-14097 2017-01-25 18:09:23 +03:00
Alexey Andreev 0f87320f9e JS: regenerate test data 2017-01-25 18:09:23 +03:00
Alexey Andreev 31c758994d JS: remove diagnostic about callable reference to built-in 2017-01-25 18:09:22 +03:00
Alexey Andreev ad4fb44827 JS: report about using of external interfaces in class literals 2017-01-25 18:09:22 +03:00
Alexey Andreev deaac83e70 JS: report about wrong module usage in class literals. See KT-15253 2017-01-25 18:09:21 +03:00
Alexey Andreev f52eebd302 Add extension point for back-ends to perform platform-specific checks of class literals 2017-01-25 18:09:21 +03:00
Alexey Andreev 9000d54d8a JS: when checking calls to JsModule declarations, check arguments passed to reified type parameters. See KT-15253 2017-01-25 18:09:20 +03:00
Mikhael Bogdanov 4c7a07bed6 Optimize defaults format: avoid reduntant stack normalization operations 2017-01-25 15:56:56 +01:00
Mikhael Bogdanov fc4be17623 Fix for KT-14966: Regression: VerifyError on access super implementation from delegate
#KT-14966 Fixed
2017-01-25 15:56:55 +01:00
Mikhael Bogdanov 11578c602e Added inline tests for jvm 8 target 2017-01-25 15:56:55 +01:00
Simon Ogorodnik 32f1ce7551 Added "kotlin.reflect.jvm.internal" to excluded from completion and auto imports list 2017-01-25 17:45:59 +03:00
Simon Ogorodnik e220a20eed KT-15796 Import of class referenced only in KDoc not preserved after copy-paste
#KT-15796 fixed
2017-01-25 17:41:26 +03:00
Simon Ogorodnik 4ca10c61fd KT-11308 Hide kotlin.jvm.internal package contents from completion and auto-import
#KT-11308 fixed
2017-01-25 17:39:36 +03:00
Simon Ogorodnik 5c52bdc684 KT-14859 "Parameter Info" doesn't work properly in one case
#KT-14859 fixed
2017-01-25 17:32:57 +03:00
Ilya Chernikov e3338c1e31 Fix testdata 2017-01-25 15:29:15 +01:00
Ilya Chernikov ec7e8873f4 Update daemon client with wrappers for basic compiler API
Other changes to extract results for compiler, tests.
2017-01-25 15:29:15 +01:00
Nikolay Krasko afd0655776 Fix after review 2017-01-25 17:19:53 +03:00
Nikolay Krasko c525a59df8 Make breakpoints work in suspend functions 2017-01-25 16:46:35 +03:00
Nikolay Krasko 649ec9a73d Check that breakpoints work in suspend function without suspension points 2017-01-25 16:46:33 +03:00
Nikolay Krasko 1a3d333da1 Add diagnostic for null error in KotlinClsStubBuilder 2017-01-25 16:46:32 +03:00
Mikhail Glukhikh d13978e64f Change log 1.1-RC (preliminary) 2017-01-25 15:27:19 +03:00
Alexey Sedunov 983ad55357 Code Insight: Preserve identifier quotes in "Generate equals()/hashCode()/toString()" actions
#KT-15883 Fixed
2017-01-25 14:24:51 +03:00
Alexey Sedunov 7382d7c7d6 Extract Function: Add 'suspend' modifier if extracted function contains suspend-calls
#KT-14704 Fixed
2017-01-25 14:24:49 +03:00
Alexey Sedunov 41f5a3e864 Support "Change parameter type" for parameters with type-mismatched default value
#KT-15627 Fixed
2017-01-25 14:24:48 +03:00
Denis Zharkov ba0f8b908f Fix Kotlin bytecode toolwindow showing wrong code for suspend functions
Use binding context from the full resolve, because otherwise control-flow
analysis is not being run, that is very important for suspend functions
(tail-call optimizations)

 #KT-15827 Fixed
2017-01-25 14:22:40 +03:00
Alexey Andreev e15b2b0dd0 Fix compilation of project 2017-01-25 14:15:23 +03:00
Mikhail Glukhikh 426619e47c Change log from 1.1-Beta added to master branch 2017-01-25 14:02:05 +03:00
Denis Zharkov 9ce3880ac6 Support getValue/setValue/provideDelegate suspend functions in JVM backend
- Determine if there are non-tail calls to getValue/setValue simply
by existance of such a property
(it might be too strict, but implementing more granular check may be rather hard)

- Change in ExpressionCodegen is relevant for provideDelegate,
that in case of local variables uses OnStack as StackValue
(see the comment near these changes)

 #KT-15933 Fixed
2017-01-25 13:54:01 +03:00
Denis Zharkov 9ca9a988a6 Fix accessor generation for suspend functions
1. JVM view of suspend accessors must be also an instance of AccessorForFunctionDescriptor,
thus `createSubstitutedCopy` should be correctly overidden.

2. accessibleFunctionDescriptor should unwap the initial suspend descriptor,
for the same reasons as for type aliases constructors and etc:
these descriptors are used as keys of the map of accessors, so
to avoid duplication for suspend view and initial suspend descriptor,
we always use the latter one as a key.

 #KT-15907 Fixed
 #KT-15935 Fixed
2017-01-25 13:54:01 +03:00
Denis Zharkov 0693bd6b62 Fix codegen issue on suspend functions with receiver
When the extension receiver of a named suspend function was marked as used
from the inner lambda, codegen used to throw a "Don't know how to generate outer expression for class" exception.

It may seem quite tricky, but currently for suspend lambda body
its extension receiver is treated as it's defined inside the relevant "doResume"
(there is an actual bytecode part that fills the relevant local variable)

The problem was that inside ExpressionCodegen for "doResume" of named
suspend function we couldn't determine that original function has
an extension receiver.

 #KT-15821 Fixed
 #KT-15820 Fixed
2017-01-25 13:54:01 +03:00
Denis Zharkov 131c008ba3 Minor. Refine naming for original suspend lambda descriptors
Also inline some methods with single usage
2017-01-25 13:54:01 +03:00
Denis Zharkov 02b40326cc Fix incorrect coroutines codegen behavior
If all the suspension calls in a suspend function were "hidden"
under the for-convention (iterator/next/hasNext) calls,
control-flow didn't find them, thus supposing that there is no
suspension points and there is no need to generate a coroutine state machine

The solution is to add relevant calls to CFG

 #KT-15824 Fixed
2017-01-25 13:54:01 +03:00
Alexey Andreev 8cbea903f4 JS: add checker that checks if JsQualifier has wrong format 2017-01-25 13:52:19 +03:00
Alexey Andreev ba65e58fdd JS: add checker to detect non-external declarations in files marked by JsModule or JsQualifier annotation 2017-01-25 13:52:19 +03:00
Alexey Andreev cc67f6c9f7 JS: add support of JsQualifier annotation. See KT-15905 2017-01-25 13:52:18 +03:00
Alexey Andreev 6624736ccf JS: fix is check on Throwable instances 2017-01-25 13:52:18 +03:00
Alexey Andreev aef7b83932 JS: fix toString in case of kotlin.Throwable 2017-01-25 13:52:17 +03:00
Alexey Andreev 6b2f1ba4e4 JS: move couple of helper functions from TranslationUtils to JsDescriptorUtils 2017-01-25 13:52:17 +03:00