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
Ilya Chernikov
357ceeae19
Avoid unnecessary freshTypeConstructor() calls
2020-03-12 08:02:45 +01:00
Ilya Chernikov
54f10a709a
Cache isProperType calculations in the constraint system
...
avoid expensive calculations with type.contains
2020-03-12 08:02:45 +01:00
Ilya Chernikov
70c89a28e1
Stop subtyping constraint search if equality constraints for...
...
all not fixed type vars are found
#KT-35626 fixed
2020-03-12 08:02:45 +01:00
Ilya Chernikov
b6c9432334
[minor] Optimize diagnostic reporting a bit
...
Eliminating a couple of function calls on reporting, speeds up
diagnostic tests for a few %
2020-03-12 08:02:45 +01:00
Ilya Chernikov
2727507d18
Fix diagnostic inferred type calculation for null in some cases
...
#KT-36222 fixed
2020-03-12 08:02:45 +01:00
Nikolay Krasko
997debdd42
201: Mute GradleMultiplatformWizardTest.testMobile because of leaked JDK
2020-03-12 03:02:30 +03:00
Nikolay Krasko
34fda45113
201: Update test data about test run markers under gradle
2020-03-12 03:02:30 +03:00
Nikolay Krasko
ab141bab1d
201: Update to 201.6073.9
2020-03-12 03:02:29 +03:00
Nikolay Krasko
0e65d0e00b
201: Mute JS android tests in MultiplatformProjectImportingTest
2020-03-12 03:02:29 +03:00
Nikolay Krasko
a9044b8a69
201: Mute test because of NPE: element.parent must not be null (IDEA-234737)
2020-03-12 03:02:29 +03:00