Dmitry Savvinov
b943140f3a
Move purely PSI checks of contract presence to ktPsiUtil.kt
2018-07-27 16:59:23 +03:00
Dmitry Petrov
893e19e9f8
StrictJavaNullabilityAssertions is enabled since 1.3
...
https://youtrack.jetbrains.com/issue/KT-20830#focus=streamItem-27-2670071-0-0
2018-07-27 09:52:29 +03:00
Dmitry Petrov
566b5856ec
Constructor call normalization mode depends on language version
2018-07-27 09:52:29 +03:00
Roman Artemev
14b1f0ef6a
Fix issue #KT-24475
...
* count coroutine metadata references during RemoveUnusedImport pass in JsInliner
* add cases to test usage of stdlib symbols in inlined functions
2018-07-26 19:23:06 +03:00
Alexander Udalov
3323fd5a11
Check "kotlin" package usage when compiling common code
...
#KT-25369 Fixed
2018-07-26 17:10:33 +02:00
Mikhail Glukhikh
48017a81ee
Move isEquivalentTo() from KtClass to KtClassOrObject
...
This makes objects and companions with the same qualified name
compatible from find usages point of view
So #KT-25326 Fixed
So #KT-25438 Fixed
2018-07-26 18:00:26 +03:00
Mikhail Glukhikh
a7d189cd1c
Branch 173: delete unnecessary duplicate of KtClassOrObject
2018-07-26 18:00:22 +03:00
Ilmir Usmanov
82f64b9b14
Generate LVT entry for continuation
...
#KT-25688: Fixed
2018-07-26 16:12:54 +03:00
Roman Artemev
dec307799a
Fix infinite loop in suspend function in case of return from finally [#KT-21961]
...
* add test
2018-07-25 23:04:57 +03:00
Ilmir Usmanov
dc3b230b55
Do not generate continuation's setLabel and getLabel methods in 1.3
...
Also, do not call them.
#KT-25521: Fixed
2018-07-25 15:35:18 +03:00
Natalia Selezneva
0750de73e1
Distinguish exceptions about unknown module info
2018-07-25 15:30:49 +03:00
Zalim Bashorov
9b1915799c
[psi2ir] Skip synthetic descriptors created for calls on something with dynamic type when collecting unbound symbols
...
#KT-23382 Fixed
2018-07-25 14:51:08 +03:00
Zalim Bashorov
a6cd552a71
[JS IR BE] Implement Long.rangeTo and unmute tests
2018-07-25 14:51:08 +03:00
Roman Artemev
eb420a1e0f
Fix [#KT-23921]
...
* make name collector in inliner process handle JsCatch
* visit JsParameter during live analyser in coroutine transformer
2018-07-25 14:22:11 +03:00
Dmitry Petrov
df6d4f358a
KT-22274 report warning on labels that can't be referenced
...
Labels are meaningful only if they can be referenced by 'break',
'continue', or 'return' expressions.
2018-07-25 12:08:20 +03:00
Dmitry Petrov
6fb913a463
KT-22274 report error/warning on incorrect return target label
2018-07-25 12:08:20 +03:00
Roman Artemev
5241b37ad9
Fix fallthrough in suspendable switch [#KT-22694, #KT-23687]
...
* do not explicitly put break for each case
* add test for related cases
2018-07-24 20:19:35 +03:00
Roman Artemev
0c6256d003
Fix initialization order
...
* put inheritance code in the beginning
* put top-level initializer after any declaration
2018-07-24 20:16:39 +03:00
Mikhail Zarechenskiy
cff066f702
Use consistent descriptors as keys
...
This commit fixes exception during IR generation with enabled new inferece,
but the problem also can affect old inference.
We were using originalTypeArguments (`resolvedCall.typeArguments`)
that uses type parameters from *candidate* descriptor and were trying
to get value by key from `resolvedCall.resultingDescriptor.original`,
assuming that resolvedCall.resultingDescriptor.original equals to
resolvedCall.candidateDescriptor, which can be wrong
2018-07-24 20:14:19 +03:00
Mikhail Zarechenskiy
f9b19c6286
[NI] Approximate types during type translation for IR
2018-07-24 20:14:17 +03:00
Mikhail Zarechenskiy
dddaa74dac
Propagate language version settings into IR type translator
2018-07-24 20:06:35 +03:00
Alexander Udalov
20ddbc9698
Do not generate generic signature for SAM wrapper methods
...
#KT-23870 Fixed
2018-07-24 13:35:47 +02:00
Denis Zharkov
ac6874c221
Hide deprecated overload LanguageSettingsProvider::getLanguageVersionSettings
...
It's necessary only for binary compatibility
After recompilation it's expected to be resolved to an overload
with default parameter
2018-07-24 14:09:54 +03:00
Dmitry Petrov
9dc2ad664d
Fix ConstantValue-related testData for lightClasses tests
...
TODO support custom language version settings for lightClasses tests
2018-07-24 10:52:16 +03:00
Dmitry Petrov
8f103dd8e5
Fix ConstantValue-related testData for loadJava tests
2018-07-24 10:52:16 +03:00
Ilmir Usmanov
fa9653c3d2
Deserialize experimental coroutines as suspend functions/types
...
but deprecate them for now.
Promote stub version.
#KT-25623: Fixed
2018-07-23 21:52:17 +03:00
Anton Bannykh
0f087e354e
JS IR: sort input files to make compilation stable
2018-07-23 18:20:05 +03:00
Dmitry Petrov
65fe1101fd
Object references in object field initializers are 'GET_VAR this@Object'
2018-07-23 18:16:32 +03:00
Dmitry Petrov
d61a3c158e
Fix ProjectImpl leak in PatternMatchingTypingVisitor
2018-07-23 16:05:47 +03:00
Alexey Tsvetkov
3227300f18
Minor: rename setIsEnabled->setIsEnabledForJvm
2018-07-23 15:43:17 +03:00
Alexey Tsvetkov
eef40a5940
Add setting to enable JS IC for JPS
...
#KT-25565 fixed
2018-07-23 15:43:17 +03:00
Alexey Tsvetkov
0b18380770
Use separate system properties to control IC for JVM and JS
...
Also this commit effectively disables JS IC by default
#KT-25563 fixed
2018-07-23 15:43:16 +03:00
Svyatoslav Kuzmich
625983b28a
[JS IR BE] Enum class lowering
2018-07-23 15:08:18 +03:00
Denis Zharkov
56a87ec98e
Restore method broken in f72aa78eec
...
Otherwise plugin compatibility tests are failing
2018-07-23 10:36:31 +03:00
Denis Zharkov
01503a84d9
Partially revert 79e776e9d7
2018-07-23 10:36:31 +03:00
Dmitry Petrov
86e863951e
Compare FP numbers properly when determining if field initializer needed
2018-07-20 17:53:25 +03:00
Dmitry Petrov
ae0704af9c
Generate singleton references as GET_OBJECT in nested classes
2018-07-20 16:46:18 +03:00
Dmitry Petrov
779cae7db5
Adjust receivers for possibly synthetic properties access
...
Synthetic property accessors are treated as extension functions on Java
classes by the front-end. However, underlying Java accessor methods are
proper members.
2018-07-20 16:46:18 +03:00
Alexander Udalov
ad326f7875
Fix assert on parameter type length for functions with big arity
...
In case of a bridge for a vararg invoke with big arity, the bridge only
has one parameter (array of parameters), and the delegate method has at
least 23 parameters. This assert was added in 77959247d2 and it didn't
cause any tests in master to fail because tests on functions with big
arity are disabled there
2018-07-20 14:01:09 +02:00
Dmitry Savvinov
6dacd1011f
Do not report warning if -XXLanguage turns on bugfix
...
KT-25554 Fixed
2018-07-20 14:24:42 +03:00
Mikhail Zarechenskiy
f8d19718c8
Fix exception on trying to evaluate red code with inline classes
...
#KT-25600 Fixed
2018-07-20 13:58:35 +03:00
Mikhail Zarechenskiy
17243c08c1
Forbid lateinit variables of inline class types
...
Proper support of lateinit inline class values will be added later,
see #KT-23814
#KT-25603 Fixed
2018-07-20 13:58:33 +03:00
Mikhail Zarechenskiy
045058c29a
Support inline class values inside string templates through boxing
...
#KT-25626 Fixed
#KT-25613 Open
2018-07-20 13:58:31 +03:00
Mikhail Zarechenskiy
9aa4247065
Do not box primitives in a single-entry string template expression
2018-07-20 13:46:11 +03:00
Mikhail Zarechenskiy
045e3f53b0
Propagate KotlinType into codegen methods where it's possible
2018-07-20 13:46:09 +03:00
Mikhail Zarechenskiy
ec9d8e580e
Leave boxing for compareTo/areEqual methods for inline classes
...
Inline classes can override methods and thus introduce side effects
2018-07-20 11:51:34 +03:00
Denis Zharkov
4e7718bfff
Minor. Extract many properties to ImportResolutionComponents
2018-07-20 11:27:08 +03:00
Denis Zharkov
0b2fde3886
State on types level that forcing imports works only for non-default
2018-07-20 11:27:08 +03:00
Denis Zharkov
79e776e9d7
Drop KtImportsFactory as it became unused after previous commit
2018-07-20 11:27:08 +03:00
Denis Zharkov
ec23695f77
Avoid creating fake PSI for default imports
...
#KT-13860 Fixed
2018-07-20 11:27:08 +03:00