Andrey Uskov
275a02ce88
Fix synchronization when working with IC caches
...
IC caches could be modified and read from different threads.
In JPS builder these threads are RMI worker (invoked from Compiler
Daemon) and JPS worker thread. Proper synchronization fixes cases
when caches could become broken.
#KT-42265 Fixed
#KT-42194 Fixed
#KT-42265 Fixed
#KT-42937 Fixed
2020-12-13 20:17:22 +03:00
Andrey Uskov
af95b8d1fe
Add explicit path sensitivity for InspectClassesForMultiModuleIC
...
Gradle uses PathSensitivity.ABSOLUTE by default, so this change
just explicitly specifies it in order to avoid warnings.
#KT-43895 Fixed
2020-12-13 20:17:20 +03:00
Andrey Uskov
2e607335db
Add tests for incremental compilation of sealed interfaces
2020-12-13 20:17:18 +03:00
Andrey Uskov
36f99156fd
IC of sealed classes
...
Supported case then children of sealed classes could be declared
anywhere in a module. If list of classes implementing sealing class
changes the sealed class and all its inheritors should be recompiled
(now sealed class should be compiled together with children in order
to calculate all possible inheritors at compile time) and and
invalidated (as they could have when operators).
2020-12-13 20:17:16 +03:00
Ilya Kirillov
a0651cdba7
FIR IDE: add Java synthetic properties support for completion
2020-12-12 12:27:48 +01:00
Ilya Kirillov
48b7150566
FIR IDE: split KtPropertySymbol into KtKotlinPropertySymbol and KtJavaSyntheticPropertySymbol
2020-12-12 12:26:56 +01:00
Ilya Kirillov
2201dd5198
FIR: make FirSyntheticPropertiesScope to be name aware
2020-12-12 12:26:56 +01:00
Kristoffer Andersen
8a5f260d04
[IR] Align debugging of suspend lambdas with old BE
...
The existing backend restores LVs and parameters from the suspend lambda
fields used for spilling between suspension points, hence they are
visible in the debugger as local variables, plain and simple.
This PR introduces the same pattern to the IR backend, to bring the
debugging experience in line with the existing backend.
Both backends are still at the mercy of the liveness analysis
performed in the coroutine transformer where a liveness analysis
minimizes live ranges of entries in the LVT. E.g. an unused parameter
will be dropped entirely.
Adjusted existing test expectations accounting for the differences in
LV behavior.
2020-12-12 11:48:47 +01:00
Dmitriy Dolovov
2be62c13b0
[Commonizer] Minor. Renamings
...
- Absent* -> Missing*
- Target -> CommonizerTarget
- Result -> CommonizerResult
- Parameters -> CommonizerParameters
2020-12-11 22:15:11 +03:00
Dmitry Petrov
b7330a9e14
JVM_IR KT-43877 fix generic signatures for SAM-converted lambdas
2020-12-11 20:26:29 +03:00
Ilmir Usmanov
dc11c2de77
IC Mangling: Use correct java field type if the type is inline class
...
in JVM_IR BE.
#KT-26445
2020-12-11 17:51:39 +01:00
Ilmir Usmanov
2b0a99b7b0
IC Mangling: Use correct java field type if the type is inline class
...
in old JVM BE.
#KT-26445
2020-12-11 17:51:37 +01:00
Ilmir Usmanov
69bb65496f
IC Mangling: Change test since we pass boxed inline class to java method
...
#KT-28214
2020-12-11 17:51:34 +01:00
Ilmir Usmanov
cbb8eb494a
IC Mangling: Do not mangle functions with inline classes from Java
...
in JVM_IR BE. Map types to boxed variants, when mapping signatures.
#KT-26445
2020-12-11 17:51:32 +01:00
Ilmir Usmanov
0cab69a7a0
IC Mangling: Do not mangle functions with inline classes from Java
...
in old JVM BE. Map types to boxed variants, when mapping signatures.
#KT-26445
2020-12-11 17:51:30 +01:00
Denis.Zharkov
5aaaa3881d
Refine diagnostic text for NULLABLE_TYPE_PARAMETER_AGAINST_NOT_NULL_TYPE_PARAMETER
...
^KT-43225 Fixed
2020-12-11 14:22:40 +03:00
Mikhael Bogdanov
b143cb9ae5
Disable new test on WASM
2020-12-11 06:36:42 +01:00
Mads Ager
c922484758
[JVM_IR] Use direct field access to backing fields on current class.
...
The current backend uses direct field access to the backing field
instead of calling the companion object accessor, which calls
an accessibility bridge, which then gets the field for code such as:
```
class A {
companion object {
val s: String = "OK"
}
// f uses direct access to the A.s backing field.
fun f() = s
}
```
This change does the same for the IR backend.
2020-12-11 06:24:55 +01:00
Nikolay Krasko
1d14926444
Re-enable evaluation tests in 201 platform
...
Revert `[DEBUGGER] Temporary mute AbstractKotlinEvaluateExpressionTest`
(85c59328c7 ) in 201 bunch.
2020-12-10 22:50:57 +03:00
Vyacheslav Gerasimov
1bc369c63c
Build: Enable caching for test task with enabled test distribution
...
#KTI-112
2020-12-10 22:02:24 +03:00
Jinseong Jeon
8f2ad57f7a
FIR: pass elvis expected type to lhs/rhs
2020-12-10 20:52:49 +03:00
pyos
41f56729f9
FIR: serialize correct fqnames for local classes
2020-12-10 20:52:48 +03:00
pyos
12f936f6b7
FIR2IR: do not approximate reified type arguments to super class
2020-12-10 20:52:46 +03:00
Jinseong Jeon
148d540580
FIR checker: make unused checker visit qualified accesses in annotations
...
#KT-43687 Fixed
2020-12-10 20:52:45 +03:00
pyos
5efe774dba
FIR: remap Java meta-annotations to Kotlin equivalents
...
This is a direct port of JavaAnnotationMapper from the old frontend.
2020-12-10 20:52:43 +03:00
Ilya Kirillov
a9ad85f306
FIR IDE: temporary mute find usages test as it fails because of incorrect resolve of init blocks
2020-12-10 17:55:50 +01:00
Ilya Kirillov
170928f498
FIR IDE: allow type rendering only in analysis session
2020-12-10 17:54:21 +01:00
Ilya Kirillov
f30c6bf86a
FIR IDE: rework KtCall to work with error cals
2020-12-10 17:54:20 +01:00
Vyacheslav Gerasimov
e6327ef490
Build: Enable test distribution for :js:js.tests:test task
2020-12-10 19:42:32 +03:00
Vyacheslav Gerasimov
06fd7f8526
Build: Add helper to configure gradle test distribution
2020-12-10 19:42:32 +03:00
Vyacheslav Gerasimov
7bbb738a71
Build: Cleanup :js:js.tests buildscript
2020-12-10 19:42:32 +03:00
Vyacheslav Gerasimov
d43af46bf4
Build: Add V8 engine & repl.js to js tests inputs
2020-12-10 19:42:31 +03:00
Mads Ager
fadedc84db
[JVM_IR] Refactor and add bytecode text tests for compose-like code.
...
Tests that the default argument mask is not in the local variable
table.
2020-12-10 17:22:18 +01:00
Mads Ager
83588e9f22
[JVM_IR] Add tests of Compose-like default argument handling.
2020-12-10 17:22:18 +01:00
Mads Ager
a7efa5c98b
[IR] Fix remapping of arguments in LocalDeclarationsLowering.
...
It only remapped arguments for IrGetValue and not for IrSetValue.
This is hitting Compose which has non-standard default argument
handling.
2020-12-10 17:22:18 +01:00
Ilya Goncharov
167e60b9fb
[JS IR] Assert createdOn equals 0 for properties initialization fun for file
2020-12-10 18:07:50 +03:00
Dmitry Petrov
5be28520fc
JVM_IR KT-43851 preserve static initialization order in const val read
2020-12-10 17:55:13 +03:00
Dmitry Petrov
b0ef6ee1fc
JVM_IR Minor: refactor rawType
2020-12-10 17:55:13 +03:00
Denis.Zharkov
f4a25066a8
Fix freshly added CLI tests for windows agents
2020-12-10 16:15:29 +03:00
Mikhail Glukhikh
dd66da7c65
Optimize FirJavaSyntheticNamesProvider.possibleGetterNamesByPropertyName
2020-12-10 15:29:46 +03:00
Mikhail Glukhikh
6d545fc281
Make FirTowerLevel an abstract class
2020-12-10 15:29:46 +03:00
Mikhail Glukhikh
34d7a7c184
FIR tower levels: inline processElementsByName[AndStoreResult]
2020-12-10 15:29:46 +03:00
Mikhail Glukhikh
af4941b222
[FIR] Drop delayedNode from ControlFlowGraph.orderNodes
2020-12-10 15:29:45 +03:00
Mikhail Glukhikh
7b277600a9
Optimize/simplify loadFunctions(Properties)ByName in FIR deserializer
2020-12-10 15:29:45 +03:00
Mikhail Glukhikh
e51503ab42
Code cleanup: KotlinDeserializedJvmSymbolsProvider
2020-12-10 15:29:45 +03:00
Mikhail Glukhikh
1383e923ea
Drop KotlinDeserializedJvmSymbolsProvider.findRegularClass
2020-12-10 15:29:45 +03:00
Mikhail Glukhikh
7e99f0ee23
Optimize ConeInferenceContext.typeDepth a bit
2020-12-10 15:29:44 +03:00
Mikhail Glukhikh
67c7b5ca0a
Optimize/simplify FirAbstractImportingScope.getStaticsScope
2020-12-10 15:29:44 +03:00
Mikhail Glukhikh
d90cc452fe
Simplify: FirSymbolProvider.getClassDeclaredPropertySymbols
2020-12-10 15:29:44 +03:00
Mikhail Glukhikh
e344d9e438
Drop unused functions from FirBuiltinSymbolProvider
2020-12-10 15:29:44 +03:00