Nikolay Krasko
bfda9cc57b
Fix inspection Integer.toString() -> int.toString() reports
2019-04-09 11:47:30 +03:00
Nikolay Krasko
a9beb04cb7
Fix RemoveExpressionTargetFix and don't remove the whole annotation (KT-25574)
2019-04-09 11:47:29 +03:00
Nikolay Krasko
ecda8cd889
Remove resolve in ChangeRetentionToSourceFix and RemoveExpressionTargetFix (KT-25574)
2019-04-09 11:47:29 +03:00
Toshiaki Kameyama
58b6360388
Add quick fixes for RESTRICTED_RETENTION_FOR_EXPRESSION_ANNOTATION (KT-25574)
2019-04-09 11:47:29 +03:00
pyos
fb0261bfc1
Remove JvmDescriptorWithExtraFlags and fix syntheticness
...
(of fields and classes, it is already correct for methods).
2019-04-09 08:18:14 +02:00
pyos
3fdcf8376f
Add IR equivalent of the WriteFlags test
2019-04-09 08:11:29 +02:00
Dmitriy Dolovov
f2d513a39c
Fix: Unstable IDE navigation to expect/actual symbols in stdlib
...
Issue #KT-30790 Fixed
2019-04-09 10:24:58 +07:00
Anton Bannykh
9b5c8bbac9
JS: switch off inlined local declaration deduplication (KT-30877 fixed)
...
(cherry picked from commit 681e8dd9682afdea822af8e0ad76c9242831e639)
2019-04-08 21:22:43 +03:00
Ilmir Usmanov
2dee506022
Generate suspend markers for inline and crossinline parameters
...
if they are not inlined, but directly called.
Previously, all inline and crossinline lambda calls were treated by
codegen as if they are always going to be inlined. However, this is not
always the case.
Note, that we cannot generate these markers during codegen, since we
can inline code with no suspension points, but the whole inlined code
will become one giant suspension point. This, of course, breaks
tail-call optimization and, hence, slows down cold streams.
Because of that, we generate these markers, when we are sure, that they
are not going to be inlined. The only place, in which we know that, is
the inliner. During inlining of the inline function, we check, whether
the parameter is inline or crossinline and whether it is not an inline
lambda. If these checks pass, we generate the markers. Noinline
parameters are already covered by the codegen.
#KT-30706 Fixed
#KT-26925 Fixed
#KT-26418 Fixed
2019-04-08 17:28:37 +03:00
Mikhael Bogdanov
eb1bfac83f
Minor. Fix test data
2019-04-08 16:23:00 +02:00
Dereck Bridie
7da52b2df5
Fix KT-13962 with kotlin.collections constructors
2019-04-08 14:53:27 +03:00
Mikhael Bogdanov
10e3dfa980
Support anonymous function as inline parameters
2019-04-08 13:10:25 +02:00
Mikhael Bogdanov
2a3a9bb5fc
Support properties reificaton
2019-04-08 13:10:25 +02:00
Mikhael Bogdanov
944c200a5d
Initial support of try as expression in JVM IR
2019-04-08 13:10:24 +02:00
Mikhael Bogdanov
30aeb8dc0a
Support finally blocks in non-local returns
2019-04-08 13:10:23 +02:00
Mikhael Bogdanov
4c59d161d4
Support basic reification in IR
2019-04-08 13:10:22 +02:00
Mikhael Bogdanov
02cb1d7dcc
Change return target in $default function on transformation
2019-04-08 13:10:22 +02:00
Mikhael Bogdanov
694a7c329d
Initial support of non-local return in IR
2019-04-08 13:10:21 +02:00
Mikhael Bogdanov
3f9154a4a1
Remove declaration that would be inlined
2019-04-08 13:10:20 +02:00
Alexander Udalov
dd2c7aff6e
Implement IrType.equals/hashCode via isEqualTo/toHashCode
2019-04-08 13:06:01 +03:00
Alexander Udalov
8cce5dc8de
Fix missing return for checkViaDescriptors in FqNameEqualityChecker
2019-04-08 13:06:01 +03:00
Alexander Udalov
bdfe82cfff
Fix incorrect condition in CheckIrElementVisitor.ensureTypeIs
...
Apparently it has no effect on behavior of tests because no backend uses
the checkTypes mode of IR validation
2019-04-08 13:06:01 +03:00
Sergey Rostov
26a9b2b251
JPS Build: fix kotlin-main-kts-test dependency to kotlin-main-kts
2019-04-08 12:47:25 +03:00
Alexander Udalov
5bafd4008f
Use correct class loader to load .kotlin_builtins in reflection
...
#KT-30749 Fixed
2019-04-08 12:43:53 +03:00
Toshiaki Kameyama
3de723b8d0
SimplifiableCallChainInspection: replace .sorted().firstOrNull() with .min()
...
#KT-30725 Fixed
2019-04-08 11:07:24 +03:00
Sergey Rostov
bdac47369c
Gradle, Native: run tests with proper Test task, process test results
...
#KT-30529 Fixed
2019-04-08 09:38:33 +03:00
Sergey Rostov
d5e434e95b
Gradle: move JS and Android platform specific files to targets package: add suppress PackageDirectoryMismatch
2019-04-08 09:38:33 +03:00
Sergey Rostov
9129c08fac
Gradle: move JS and Android platform specific files to targets package
2019-04-08 09:38:33 +03:00
Sergey Rostov
09611a612a
Gradle, Native: move all Native-related files to targets.native directory: add suppress PackageDirectoryMismatch
2019-04-08 09:38:33 +03:00
Sergey Rostov
1d1a560e32
Gradle, Native: move all Native-related files to targets.native directory
2019-04-08 09:38:33 +03:00
Dmitry Gridin
b45aeda711
Fix caret after "Introduce import alias" if invoke in import directive
...
#KT-30833 Fixed
2019-04-08 11:25:32 +07:00
Nikolay Krasko
814aca9c8b
Single indent for declarations on adding new line (KT-26954)
...
#KT-26954 Fixed
2019-04-06 20:44:06 +03:00
Nikolay Krasko
e4cc94e0a8
Check bad root presence before checking platform (KT-30442)
...
Detect platform based on libraries content is a long operation and should
not be called from `isConversionNeeded`. Do other checks before it.
2019-04-06 20:44:05 +03:00
Nikolay Krasko
03c6e23448
Remove platform comparisons based on string dictionary order (KT-30356)
...
Comparison was changed in https://github.com/JetBrains/kotlin/commit/641a9a7153ebb3562c67a86e3ea6edda8360cec9#diff-0895a6eaf69b9fd4d43f83db9889d103R109
#KT-30356 Fixed
2019-04-06 20:44:05 +03:00
Nikolay Krasko
53ab1e7c99
Minor: clean warnings in folding tests
2019-04-06 20:44:05 +03:00
Nikolay Krasko
aea33a3214
Move resolve during import optimizing to background thread (KT-27106, KT-30018)
...
#KT-27106 Fixed
2019-04-06 20:44:05 +03:00
Vyacheslav Gerasimov
25636c9c39
Build: Compile ultimate with kotlin-stdlib-jdk8
2019-04-05 20:37:19 +03:00
Igor Yakovlev
da4d8a8c90
Parser invalid error advancing for postfix type parameters list #KT-30835 Fixed
2019-04-05 19:50:42 +03:00
Austaon
0e716fd528
KT 13962: Intention to replace Java collection constructor calls with function calls from stdlib (ArrayList() → arrayListOf())
2019-04-05 18:19:26 +03:00
Dmitry Petrov
bbeb65905e
KT-30780 Fix erased inline class context in class context hierarchy
...
In SourceCompilerForInline we could enter ERASED_INLINE_CLASS context
from containing declaration context. That broke codegen context
hierarchy invariants assumed in accessor generation.
2019-04-05 17:27:04 +03:00
Mikhail Glukhikh
e1915ec99e
FIR2IR: add bunch file for 181 to avoid compilation problems
2019-04-05 16:18:59 +03:00
Mikhail Glukhikh
ee28467a47
Raw FIR: add work-around for deeply nested String interpolations
...
Controversial (but prevents total kotlin test failing)
Related to KT-29222
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
881073b1c9
Add basic FIR -> IR converter with a set of text tests
...
Tests duplicate IrTextTestCaseGenerated
#KT-24065 Fixed
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
92adfd8946
Add stub implementation of compileTimeInitializer in wrapped descriptors
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
d736a7da6b
Raw FIR: get rid of array gets, use array sets only for modifications
...
(a[b] += c etc. cannot be replaced with get/set calls easily)
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
a0c4e2f05f
Raw FIR: convert in to contains and !in to contains.not
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
4482a8f794
Remove FirOperation.RANGE which was effectively unused
...
Associated KtTokens.RANGE is included into convention call table
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
007edcb4a4
Raw FIR: generate convention / infix binary expressions with receiver
2019-04-05 16:18:57 +03:00
Dmitry Gridin
4f8e29ad23
Fix import quickfix if import has import alias
...
#KT-30669 Fixed
#KT-7380 Fixed
#KT-30663 Fixed
2019-04-05 20:01:11 +07:00
Dmitry Gridin
6caf6858fa
Minor: refactoring KotlinAddImportAction
2019-04-05 20:01:11 +07:00