Dmitriy Dolovov
7beb49271f
Fix: Navigation to inheritor class in non-JVM library source leads to opening stub
...
Issue #KT-30821 Fixed
2019-04-10 11:17:27 +07:00
Juan Chen
f489a47025
Fix SAM_WITH_RECEIVER_PLUGIN_NAME.
...
SAM_WITH_RECEIVER_PLUGIN_NAME in PathUtil was accidentally broken by
https://github.com/JetBrains/kotlin/commit/4c751cdd529ccc65118968b7f928a4b3e44ce81f#diff-819dacd07c45ba85ba5459d8a09418daR34
2019-04-09 15:19:00 +00:00
Ilmir Usmanov
00e952ab15
Introduce CHECK_TAIL_CALL_OPTIMIZATION directive
...
This directive generates TailCallOptimizationChecker in package helpers.
The check for tail call optimization is based on coroutine stack traces
bug (feature?): when tail call optimization hits, the continuation
object is not generated. Thus, there is no debug metadata for this
suspend function. Consequently, the coroutines stack trace does not
contain stack trace element for that function.
This check is performed by TailCallOptimizationChecker.
Since this is runtime check, unlike bytecode tests, it does not require
test data adjustments on each codegen or inliner change.
Since the check is based on debug metadata, which is JVM specific, there
is not support for other backends yet.
2019-04-09 18:01:21 +03:00
Mikhail Glukhikh
40441a18cc
FIR2IR tests: do not try to dump & check external dependencies
...
(because both wrapped descriptors and FIR-based package descriptors
have no member scopes and aren't able to find class across module deps)
2019-04-09 15:36:18 +03:00
Mikhail Glukhikh
485035952a
IR text tests: fix regex detection (like DUMP_EXTERNAL_CLASS)
...
Before this commit, DUMP_EXTERNAL_CLASS etc. didn't work on Windows
2019-04-09 15:36:18 +03:00
Mikhail Glukhikh
61ae365cfd
IR text tests: remove some may-be-unnecessary dumps
2019-04-09 15:36:18 +03:00
Mikhail Glukhikh
02bdc826d5
IR text tests: throw an error when test fails to build an external dump
2019-04-09 15:36:16 +03:00
Vyacheslav Gerasimov
2937cb7237
Build: Fix Android Studio 3.5 unpacking, now published as tar.gz
2019-04-09 15:06:22 +03:00
Vyacheslav Gerasimov
83764c113f
as35: Upgrade to AS 3.5 C10
2019-04-09 15:06:22 +03:00
Vyacheslav Gerasimov
8c9e1006f2
as35: Derive as35 bunch from 191
2019-04-09 15:06:22 +03:00
Steven Schäfer
26aeddf6d9
Remove broken KotlinType.toIrType function
...
The KotlinType.toIrType function sometimes produces unbound symbols
and was only used in IrIntrinsicFunction and SharedVariablesManager.
This change removes the broken function and changes SharedVariableManager
to use IrType consistently and IrIntrinsicFunction to use KotlinType
consistently.
2019-04-09 13:46:02 +02:00
pyos
048fd9fa25
Create a single instance of IrIntrinsicMethods per context.
...
This improves JVM_IR compilation times by 2%.
2019-04-09 11:56:58 +02:00
Dmitry Gridin
fceb5ee245
Fix AutoImport for import with alias
...
#KT-30663 Fixed
2019-04-09 16:34:26 +07:00
Andrey Uskov
a6ae1f2ba6
Fix import of compiler arguments in IDEA if source set dependencies
...
could not be resolved (e.g. due to misspelling in artifact name).
Fix works only in case when both new IDEA and gradle plugins are
used
#KT-28627 Fixed
2019-04-09 12:04:59 +03:00
Andrey Uskov
ed0dfaec36
Migrate GradleFacetImportingTest to testdata
2019-04-09 12:04:32 +03:00
Andrey Uskov
0f60daec25
Fix locking multiple threads during KotlinConfiguration check
...
#KT-29892 Fixed
2019-04-09 12:04:14 +03:00
Andrey Uskov
ff488bb871
Create android source root test added
2019-04-09 12:03:57 +03:00
Simon Ogorodnik
dc84e8fce5
Reformat PluginDeclarationProviderFactory
2019-04-09 11:53:54 +03:00
Simon Ogorodnik
f3268c99df
EA-115037: Rebuild PerModulePackageCache on miss
2019-04-09 11:53:52 +03:00
Simon Ogorodnik
dd3dfedf81
KT-30688: Fix memory leak on module in disposer after onTooComplexChange
...
Remove explicit cache entry removal, use weak map instead
#KT-30688 fixed
2019-04-09 11:53:22 +03:00
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
f37d171a52
Flatten phase compositions.
...
This makes stack traces and flame graphs significantly more readable.
2019-04-09 10:15:45 +02: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