Mikhail Glukhikh
c0f5cafbd8
Set type reference: destructuring support #KT-14994 Fixed
2017-01-27 18:15:54 +03:00
Nikolay Krasko
370e7cd9f5
Stop considering injected files as Kotlin source roots (KT-15032)
...
We should have a special facade for them as descriptors are not
present in ordinal project facade.
Caused by change in idea 171 (https://github.com/JetBrains/intellij-community/commit/b3527d9a20f4b9391e98b426beb2548fb3efc0fe )
#KT-15032 Fixed
2017-01-27 18:00:14 +03:00
Dmitry Jemerov
1361d5e915
EA-85853 - (KT-13415) AIOOBE: LightClassUtilsKt.toPsiTypeParameters
2017-01-27 14:48:05 +01:00
Dmitry Jemerov
59e2645293
EA-82902 - IOOBE: KtLightAnnotation$LightExpressionValue.unwrapArray
2017-01-27 14:48:05 +01:00
Mikhael Bogdanov
456037a30d
Generate proper annotaions on parameters for @JvmOverloads;
...
Fix for KT-15743: Overloaded Kotlin extensions annotates wrong parameters in java
#KT-15743 Fixed
2017-01-27 14:09:13 +01:00
Mikhael Bogdanov
ab464ea86e
Fix for KT-15726: Kotlin can't compile nested try-catch with return
...
#KT-15726 Fixed
2017-01-27 14:09:13 +01:00
Dmitry Petrov
de14d4abc8
KT-15748 Type alias constructor return type should have a corresponding abbreviation
2017-01-27 15:16:04 +03:00
Dmitry Jemerov
1337a5216c
Don't try to get text for invalid file (EA-86393 - PIEAE: PsiFileImpl.getText)
2017-01-27 12:47:41 +01:00
Dmitry Jemerov
b987e37e82
Diagnostics for EA-86712
2017-01-27 12:47:41 +01:00
Dmitry Petrov
e05f2eaff6
KT-15017 Throwing exception in the end of inline suspend-functions lead to internal compiler error
...
Suspend function call with a reachable (alive) begin marker and unreachable (dead) end marker
is an exit point for the corresponding coroutine.
It isn't a suspension point, and doesn't introduce a new state in the coroutine FSM.
2017-01-27 10:43:00 +03:00
Ilya Gorbunov
3be1174824
Replace @native with external in tests
2017-01-27 01:29:15 +03:00
Ilya Chernikov
4bb5e978a7
Implement SamWithReceiverAnnotations annotation and it's handling (KT-15848)
...
TODO: tests
2017-01-26 20:53:24 +01:00
Yan Zhulanow
3b4a8e0f33
Kapt3: Write qualified name of classes on error type conversion, handle declaration-site variance properly.
2017-01-27 01:20:01 +09:00
Alexey Sedunov
591910a216
Kotlin Facet: Import compiler arguments from Gradle project
...
#KT-15819 Fixed
#KT-15929 Fixed
2017-01-26 18:06:14 +03:00
Mikhael Bogdanov
25d75bcd8b
Delegates to java defaults methods in compatibility mode
2017-01-26 14:32:33 +01:00
Mikhael Bogdanov
0006a04b01
Report warning on hided override by delegation when compile to 1.0 version
2017-01-26 14:32:33 +01:00
Alexey Tsvetkov
470a7706aa
Fix build
2017-01-26 15:49:40 +03:00
Alexey Tsvetkov
f46217129b
EA-95293: do not report OUTPUT messages to message collector if outputs collector is specified
2017-01-26 13:38:52 +03:00
Simon Ogorodnik
cd73d17bd4
KT-15311 "Add Import" intention generates incorrect code
...
#KT-15311 fixed
2017-01-26 13:24:41 +03:00
Dmitry Petrov
1613ad0505
KT-15898 Cannot use type alias to qualify enum entry
...
Type alias static scope includes enum entries for underlying enum class.
2017-01-26 10:23:56 +03:00
Dmitry Petrov
a974ed1049
Support custom accessors for top-level properties in scripts.
2017-01-26 10:12:13 +03:00
Dmitry Petrov
ab2448307e
Functions imported from objects should be properly mapped to "real" suspend function descriptors.
2017-01-26 09:39:53 +03:00
Dmitry Petrov
9d4047f5e4
Calls for suspend functions imported from object should be checked in CoroutineSuspendCallChecker.
2017-01-26 09:39:53 +03:00
Dmitry Petrov
500667ff45
Function and property descriptors imported from object should keep track of the original imported descriptor,
...
otherwise they break an assumption that 'getOriginal()' chain would eventually converge on some callable descriptor.
2017-01-26 09:39:53 +03:00
Mikhail Zarechenskiy
b0c3c7463b
Fix internal compiler error about arithmetic exception
...
#KT-8264 Fixed
2017-01-26 03:39:50 +03:00
Kirill Rakhman
f74c0950d2
use property syntax
2017-01-26 00:56:33 +03: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
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
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
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
115f6ced87
JS: fix support of throwable constructors without message and/or cause parameters
2017-01-25 13:52:16 +03:00
Alexey Andreev
6f4d8decc7
JS: add support of custom exceptions inherited from kotlin.Throwable that call super constructor from secondary constructor
2017-01-25 13:52:16 +03:00
Alexey Andreev
f34093db9f
JS: make kotlin.Throwable = Error. See KT-15312
2017-01-25 13:52:13 +03:00
Mikhail Zarechenskiy
68b223211c
Fix bogus integer overflow warning for 'mod' operator
...
#KT-15875 Fixed
2017-01-25 02:24:28 +03:00