Dmitriy Novozhilov
afad6a564a
[Test] Pass CompilerConfiguration to AbstractEnvironmentConfigurator.registerCompilerExtensions
...
This is needed to provide ability to configure extensions depending on
configuration of specific test
2022-04-08 09:42:00 +00:00
Dmitriy Novozhilov
400ad6a01e
[Test] Add ability to configure access to application disposable in test configuration
...
This is needed to unbound CompilerConfigurationProvider from ApplicationEnvironmentDisposer,
which depends on classes from JUnit 5. This will allow to safely use
compiler test framework with base test framework different from JUnit 5
2022-04-08 09:41:59 +00:00
Alexander Korepanov
2f3ad476be
[JS IR] Ignore fake override calls in IC
...
Fake overrides don't have a signature and can't be assiciated with klib index,
therefore they can't be tracked with incremental cache invalidation logic.
Should be fixed after KT-51896.
2022-04-08 08:54:22 +00:00
Nikolay Krasko
3ee8aabe4c
Add root project dir as a base path in -Xklib-relative-path-base
...
Previous code didn't work for kotlin-stdlib-wasm because sources from
other gradle projects are included.
`$rootDir/libraries/stdlib/native-wasm/src/*` sources
were present in files.knf as absolute paths. Now they are truncated
as libraries/stdlib/native-wasm/src/*. For example:
libraries/stdlib/native-wasm/src/kotlin/collections/Collections.kt
Should be removed after fixing KT-50876
KTI-729
2022-04-07 19:17:20 +00:00
Nikolay Krasko
405e90abee
Apply -Xklib-relative-path-base to all KotlinCompile tasks
...
As absolute paths were also revealed in
atomicfu.jar
kotlin-stdlib-wasm
kotlin-test-wasm
Use solution from Alexander Likhachev (avoid accessing
buildDir, projectDir in doFirst()) to prevent breaking the configuration
cache.
Should be removed after fixing KT-50876
KTI-729
2022-04-07 19:17:20 +00:00
Ivan Kochurkin
81b1ed9ad4
[FIR] Fix false positive RETURN_TYPE_MISMATCH in intellij ultimate
2022-04-07 21:03:08 +03:00
Elena Lepilkina
04da0ba55d
[K/N][perf] Fix swiftinterop benchmarks linkTask names
2022-04-07 20:06:40 +03:00
Elena Lepilkina
23d66fabad
[K/N][perf] Fix swiftinterop benchmrks
2022-04-07 20:06:40 +03:00
Elena Lepilkina
655ed0f7c8
[K/N][perf] Fix compile task name for debug binaries
2022-04-07 20:06:40 +03:00
Elena Lepilkina
f401573e5c
[K/N][perf] Added chart for execution time of debug binaries on performance server
2022-04-07 20:06:40 +03:00
Elena Lepilkina
087f7e3b31
[K/N] Added possibility to run only base part of benchmarks
2022-04-07 20:06:40 +03:00
Dmitriy Novozhilov
b79f5a445f
[FIR] Use proper ReturnTypeCalculator inside FakeOverrideTypeCalculator
2022-04-07 12:18:49 +00:00
Dmitriy Novozhilov
6e2402620f
[FIR] Fix collecting member candidates on receiver with smartcast
...
^KT-51460 Fixed
^KT-51827
2022-04-07 12:18:48 +00:00
Dmitriy Novozhilov
51bd0fd2db
[FIR] Add ability to specify module name in modularized test
...
Use `fir.bench.filter.name` property to specify module name instead of
module path regex
2022-04-07 12:18:48 +00:00
Sergej Jaskiewicz
d7d86a0e95
[JS IR] Lift lambdas that capture no context
...
If a lambda expression does not capture any local variables, convert
it to a global free function and replace the lambda creation with
a reference to that function.
Example: for the following Kotlin code
```kotlin
fun foo(f: () -> Unit) = f()
fun bar() = foo { console.log("hello") }
```
before this patch, we generated:
```js
function foo(f) {
return f();
}
function bar() {
return foo(bar$lambda());
}
function bar$lambda() {
return function () {
console.log('hello');
};
}
```
after this patch, we generate:
```js
function foo(f) {
return f();
}
function bar() {
return foo(bar$lambda);
}
function bar$lambda() {
console.log('hello');
}
```
2022-04-07 10:31:35 +00:00
Sergej Jaskiewicz
026f292f4f
[IR] Add IrClass.invokeFun helper and use it throughout
2022-04-07 10:31:34 +00:00
Pavel Punegov
4b3a5ad875
[K/N][samples] Use compilations for libcurl dependency setting
2022-04-07 10:13:04 +00:00
Ilmir Usmanov
1488790cd3
Replace recursion with a loop
...
#KT-51530 Fixed
2022-04-07 01:08:22 +00:00
Denis.Zharkov
6937e08b9c
FIR: Remove effectively incorrect code from Candidate.getReceiverType
2022-04-06 16:05:42 +00:00
Denis.Zharkov
3d06a92eea
K1: Adjust positioning for NO_CONTEXT_RECEIVER
2022-04-06 16:05:41 +00:00
Denis.Zharkov
82b6fdf97e
FIR: Serialize type attributes for non-type-ref types, too
2022-04-06 16:05:41 +00:00
Denis.Zharkov
66bd8dccfa
FIR: Unignore all Fir2IrText tests on context receivers
2022-04-06 16:05:40 +00:00
Denis.Zharkov
55159eba45
FIR: Do not verify descriptors consistency for FIR-based IR functions
2022-04-06 16:05:40 +00:00
Denis.Zharkov
2a6700e5d5
FIR: Unignore all blackbox tests on context receivers
2022-04-06 16:05:39 +00:00
Denis.Zharkov
41bc842b9d
FIR: Support context receivers in Fir2Ir
2022-04-06 16:05:39 +00:00
Denis.Zharkov
aa74bd4293
FIR: Minor. Drop effectively-always-null body parameter
2022-04-06 16:05:38 +00:00
Denis.Zharkov
512446843b
FIR: Support typeRef-name label for this
2022-04-06 16:05:37 +00:00
Denis.Zharkov
ac399321f0
FIR: Add replace method for contextReceiverNumber
2022-04-06 16:05:37 +00:00
Denis.Zharkov
445705369e
FIR: Support context receivers in FirPropertyTypeParametersChecker
2022-04-06 16:05:36 +00:00
Denis.Zharkov
0ba5c528d0
FIR: Support (de)serialization of context receivers
2022-04-06 16:05:35 +00:00
Denis.Zharkov
dfc736161a
FIR: Fix overload resolution with context receivers
2022-04-06 16:05:35 +00:00
Denis.Zharkov
4349060db1
K1: Support referencing class context receivers in a form of this@Name
2022-04-06 16:05:34 +00:00
Denis.Zharkov
c33f06b9e4
FIR tree: add context receivers helper properties
2022-04-06 16:05:34 +00:00
Denis.Zharkov
202413c2f4
FIR: Add context receivers from the containing class to constructors
2022-04-06 16:05:33 +00:00
Denis.Zharkov
b2d5bf3eae
FIR: Adjust diagnostics test data after resolution of context receivers
2022-04-06 16:05:32 +00:00
Denis.Zharkov
ef84dddc88
FIR: Add preliminary support for context receivers in resolution
2022-04-06 16:05:32 +00:00
Denis.Zharkov
588dd23fd9
Drop unused members from DescriptorStorageForContextReceivers
2022-04-06 16:05:31 +00:00
Denis.Zharkov
90b12433ec
FIR: Add replaceContextReceivers to FirCallableDeclaration
2022-04-06 16:05:31 +00:00
Denis.Zharkov
8f013db94d
FIR: Simplify resolution for invokeExtension on implicit extension
2022-04-06 16:05:29 +00:00
Denis.Zharkov
9a070ad4f6
FIR: Get rid of SessionBasedTowerLevel
2022-04-06 16:05:28 +00:00
Denis.Zharkov
150f951fb2
FIR: Simplify and clarify contracts in FirInvokeResolveTowerExtension
2022-04-06 16:05:28 +00:00
Denis.Zharkov
f7371816de
FIR: Minor. Simplify FirInvokeResolveTowerExtension
2022-04-06 16:05:27 +00:00
Denis.Zharkov
c595780d83
FIR: Add two label-related fields to FirContextReceiver
2022-04-06 16:05:26 +00:00
Denis.Zharkov
550d24f8c6
FIR: Introduce ContextFunctionTypeParams type attribute
2022-04-06 16:05:26 +00:00
Denis.Zharkov
f3e28c3767
FIR: Prepare ConeAttribute infrastructure for non-singleton attrs
2022-04-06 16:05:25 +00:00
Denis.Zharkov
54c3e7e7c5
FIR: Support context receiver in FIR building
2022-04-06 16:05:24 +00:00
Denis.Zharkov
4379460177
Fix AST/PSI structure for context receivers in function types
...
Having CONTEXT_RECEIVER_LIST inside FUNCTION_TYPE_RECEIVER looks a bit hacky
2022-04-06 16:05:24 +00:00
Denis.Zharkov
a89680fb34
FIR: Prepare tree for context receivers
2022-04-06 16:05:23 +00:00
Alexander Korepanov
c4bb445c01
[JS IR] IC close input streams
...
^KT-51853 Fixed
2022-04-06 15:42:17 +00:00
Yahor Berdnikau
92d9c5b150
Remove 'kotlin2js' Gradle plugin
...
Plugin class is still left untouched as it is used by
js platform old plugin.
^KT-48276 Fixed
2022-04-06 13:32:34 +00:00