Commit Graph

62869 Commits

Author SHA1 Message Date
Roman Golyshev 4c6ea7c26a KT-36808 Sink down member function Flow.collect in the completion
- This method is never supposed to be called, so we try to lower its
presence in the completion list by puting it on the last possible
position
- ^KT-36808 Fixed
2020-03-13 18:05:29 +03:00
Roman Artemev d27954a6d4 [IR] Use erased types in backing field initializer in case of generic delegated property
- Since neither IrProperty nor IrField is Type Parameter container
 using of proprty's type parameter in IrField related code leads to
 creation of "hanging" type parameters which should be considered as
 incorrect IR.
 - Such code designed to be prohibited in LV 1.5
 - The fix makes use of erased type in such case
 where type parameter is expected.
2020-03-13 17:28:31 +03:00
Roman Artemev 13a73b67de [IR] Fix IrPropertyReference for delegated property
- Make sure that property CR passed to `getValue` doesn't have type
 arguments.
2020-03-13 17:28:30 +03:00
Roman Artemev 34c17e2bed [KLIB] Add regression to about VarAsFun type parameter leak 2020-03-13 17:28:30 +03:00
Roman Artemev 8c1772d623 [KLIB] Add regression test 2020-03-13 17:28:30 +03:00
Vladimir Dolzhenko 09239743c1 Fix compilation KotlinCopyPasteReferenceProcessor for 191, 192 2020-03-13 13:13:15 +01:00
Vladimir Dolzhenko 123311007b Fix compilation CustomUsageSearcherTest for 191, 201 2020-03-13 13:11:21 +01:00
Dmitriy Novozhilov 31776d9a3b [CFA] Mark arguments of all annotation calls as USED_AS_EXPRESSION
Also revert hacky fix of KT-37294 introduced in 80caa063b
#KT-37447 Fixed
2020-03-13 14:32:28 +03:00
Dmitry Gridin b9ffed3f04 Replace ConfigurationFactory with SimpleConfigurationType
#KT-36781 Fixed
2020-03-13 17:56:10 +07:00
Alexander Udalov 43d6ddd405 Minor, fix typo in KotlinChunk.kt
#KT-37159 Fixed
2020-03-13 11:06:46 +01:00
Mikhail Glukhikh 20c4a7b244 [FIR2IR] Introduce staged transformation (first step)
Now FE IR -> BE IR transformation is performed in multiple stages
controller by Fir2IrConverter. Stages are
 * files & classes registration
 * supertypes & type parameters handling
 * functions & properties signature generation
 * body generation

After each step we have guarantee (with exception of local classes &
type inference combination, and external symbols) that required symbols
(class/function/property/variable/type parameter)
are already bound to real declarations and have correct parents.

This commit also fixes incorrect parents for local classes
2020-03-13 12:18:02 +03:00
Alexander Udalov a9f7ff254b Add -Xno-optimized-callable-references to disable KT-27362 optimization
This argument is useful in situations where the stdlib version which the
code compiles against is different from the one which is available at
runtime, such as the case of kotlin-gradle-plugin, which depends on the
compiler/stdlib compiled by 1.4, but may be executed in Gradle where
only 1.3.x is available.

 #KT-37435
2020-03-13 10:07:22 +01:00
Vladimir Dolzhenko ae4629a5a6 Fetch analysis results if it is available
The general idea is to try to fetch a full analysis if it is existed in PerFileAnalysisCache instead of go to ResolveElementCache and do analysis there. Do not perform analysis if it is not in PerFileAnalysisCache.

#KT-37467 Fixed
2020-03-13 09:25:28 +01:00
Zalim Bashorov 7cf8697e30 [JS BEs] use star projection when type parameter used recursively
#KT-37128 Fixed
2020-03-13 10:15:56 +03:00
Zalim Bashorov 8c7562d338 [CJS BE] don't crash when intersection types passed for a reified parameter
#KT-37163 Fixed
2020-03-13 10:15:53 +03:00
Zalim Bashorov 415893b8aa [JS CLI] revert disabling NI by default 2020-03-13 01:51:24 +03:00
Zalim Bashorov 5188bc6584 [JS FE] remove unused ReleaseCoroutinesDisabledLanguageVersionSettings 2020-03-13 01:51:24 +03:00
Vladimir Dolzhenko 87242b419a Improvements in KotlinCopyPasteReferenceProcessor
reduced scope of nonBlockingRead to avoid long rerun of it
used smart pointers to keep valid elements over changes
moved back to non-modal progress

Relates to #KT-37414
2020-03-12 22:42:58 +01:00
Victor Petukhov b1c4b5f51b NI: Analyze lambdas which are return arguments of another lambda
^KT-36044 Fixed
2020-03-12 23:29:09 +03:00
Georgy Bronnikov 426738b7d4 JVM_IR: Cache stubs in CollectionStubMethodLowering 2020-03-12 23:14:17 +03:00
Georgy Bronnikov 92268c8144 JVM_IR: do not generate excessive stubs for immutable collections 2020-03-12 23:14:17 +03:00
Dmitriy Novozhilov 9955f342c0 [FIR-TEST] Move FIR ide tests to separate module 2020-03-12 18:15:38 +03:00
Abduqodiri Qurbonzoda b1fac4e721 Implement reduceIndexedOrNull and reduceRightIndexedOrNull #KT-36866 2020-03-12 18:08:55 +03:00
Abduqodiri Qurbonzoda b60633d79a Add associateWith to Array<T> #KT-30372 2020-03-12 18:06:54 +03:00
Abduqodiri Qurbonzoda e632d58936 Nullable Array.contentEquals/contentHashCode/contentToString #KT-34161 2020-03-12 18:01:23 +03:00
Zalim Bashorov 179ec41a6b [JS BEs] Generate tests for whole "codegen/boxInline" 2020-03-12 17:22:33 +03:00
Zalim Bashorov fe3a81ebc9 [JS BEs] Minor: fix warnings in abstract classes for generated tests 2020-03-12 17:21:06 +03:00
Abduqodiri Qurbonzoda c664bfc62b Update property delegate test data 2020-03-12 16:52:36 +03:00
Alexander Udalov 3762b5cba7 Minor, remove extraneous field CodegenTestCase.coroutinesPackage
After a795c38eb7, this field is available in the base class
KotlinBaseTest.
2020-03-12 13:51:40 +01:00
Alexander Udalov 244db9bcf9 JVM IR: don't rename fake overrides for fields
In case derived class has a field with the same name as the base class,
RenameFieldsLowering previously tried to rename one of the fields by
adding the "...$1" suffix, which led to NoSuchFieldError.
2020-03-12 13:51:40 +01:00
kovalp 9ceca69154 Do not stop searchTextOccurrences when isSearchForTextOccurrences is false
#KT-36657 Fixed
2020-03-12 13:40:49 +01:00
Mikhail Glukhikh 6fd8ccc293 [FIR2IR] Support (simple) conversion of captured types 2020-03-12 15:17:51 +03:00
Sergey Bogolepov e919e7b79a [Gradle][Native][Cache] Don't skip metadata-based interop libraries
`resolveSingleFileKlib` by default doesn't support klibs with
non-default ir providers. In case of cache generation for native interop
libraries we need to override this behavior because they have
ir_provider=kotlin.native.cinterop.
2020-03-12 18:11:47 +07:00
Dmitry Petrov c0b15b1768 KT-37448 'this' in delegating constructor call may refer to outer object 2020-03-12 13:40:14 +03:00
Ilya Goncharov 2bd5872782 201: [Gradle, JS] Non jvm configurator from xml including 2020-03-12 13:23:46 +03:00
Ilya Goncharov dc2dd2e3e3 [Gradle, JS] Remove idle test runner
#KT-37037 fixed
2020-03-12 13:23:45 +03:00
Ilya Goncharov 8c8307d0d2 201: [Gradle, JS] Remove redundant non jvm configurator for 201 2020-03-12 13:23:28 +03:00
Ilya Goncharov 857f3335bb [Gradle, JS] TestFramework is public to detect it in debug extension
#KT-37037 fixed
2020-03-12 13:23:27 +03:00
Ilya Goncharov 3728dd45ce [Gradle, JS] Remove redundant hacks for debug
#KT-37037 fixed
2020-03-12 13:22:42 +03:00
Ilmir Usmanov 7efab887aa JVM_IR: Do not generate accessor for private function
if the function is called in suspendCoroutine's lambda.
 #KT-37242 Fixed
2020-03-12 11:15:46 +01:00
Dmitry Gridin 80caa063b3 UnusedUnaryOperatorInspection: shouldn't report on annotation entry
#KT-37294 Fixed
2020-03-12 08:46:33 +00:00
Georgy Bronnikov fded6fb494 JVM_IR: fix suspendCoroutineUninterceptedOrReturn 2020-03-12 11:28:42 +03:00
Ilya Chernikov 3cbfdd19f5 Optimize constraints simplification
simplify only when affecting changes are detected
2020-03-12 08:02:46 +01:00
Ilya Chernikov c2b866fe7a Reduce number of constraints simplifications
assuming that MutableVariableWithConstraints is constructed either
with no initial constraints or already from simplified list
2020-03-12 08:02:46 +01:00
Ilya Chernikov 84a0e39956 Skip duplicates removal on constraints simplification
It is already coveren on addition. Speeds up inference a bit.
2020-03-12 08:02:46 +01:00
Ilya Chernikov 6f97745de2 Optimize MutableDiagnosticsWithSuppression
avoid modificationTracker and own diagnostics list initialization if
possible
2020-03-12 08:02:46 +01:00
Ilya Chernikov a28c25b805 Add NI benchmarks configuration 2020-03-12 08:02:46 +01:00
Ilya Chernikov e9cb7770e3 Fix benchmark compiler configuration 2020-03-12 08:02:46 +01:00
Ilya Chernikov 53d289206e Optimize hot TypeUtils.contains function
optimize for small number of visited types
2020-03-12 08:02:45 +01:00
Ilya Chernikov 4538e212db Optimize hot addSubTypeConstraintAndIncorporateIt function
reduce number of allocations, optimize for cases with small number
of possible new constraints
2020-03-12 08:02:45 +01:00