Alexander Udalov
6402c3908c
Validate -Xbackend-threads CLI argument value
...
#KT-51846 Fixed
2022-04-08 14:01:21 +02:00
Pavel Punegov
d69df1898d
[build] Advance kotlin-build-gradle-plugin version to 0.0.38 in the repo
...
Use build Gradle plugin version property
2022-04-08 14:42:35 +03:00
Pavel Punegov
3a4d6bcb18
[build] Advance kotlin-build-gradle-plugin version to 0.0.38
2022-04-08 14:42:08 +03:00
Pavel Punegov
3d17d476e0
[K/N][build] Define meta versions order and comparing
...
Move isAtLeast() from compiler downloader and test
to CompilerVersion.kt
2022-04-08 14:42:08 +03:00
Pavel Punegov
4644562e7f
[K/N][build] Change MetaVersion to inline class from enum
...
Support meta versions strings other than pre-defined. All enum entries
were left for source-level compatibility.
2022-04-08 14:42:08 +03:00
Pavel Punegov
4d388118f8
[K/N][build] Fix CompilerVersion pattern to match RC2
2022-04-08 14:42:07 +03:00
Sergej Jaskiewicz
e1b0e27e62
[JS Legacy] Fix Unit materialization in overridden methods
...
^KT-51878 Fixed
2022-04-08 11:09:46 +00:00
Pavel Punegov
cfe76343d5
[Commonizer][test] Get K/N distribution in the test instead of the build
...
Get distribution and home path in the test to simplify gradle build.
Using NativeCompilerDownloader in the build led to the undesired results
where test get old K/N compiler from the bootstrap, also blocking K/N
version class development.
2022-04-08 10:38:12 +00:00
Dmitriy Novozhilov
38696a41bc
[Test] Add ability to override some services in AbstractKotlinCompilerTest
2022-04-08 09:42:02 +00:00
Dmitriy Novozhilov
543675d99d
[Test] Don't fail generation of tests if License file not found
2022-04-08 09:42:02 +00:00
Dmitriy Novozhilov
2c6aea47b1
[Test] Introduce provider of path of standard libraries jars
...
Before this change all paths to all libraries were hardcoded to
`dist/kotlinc/lib/...`, which is not suitable for usages of test
framework outside of Kotlin project
2022-04-08 09:42:02 +00:00
Dmitriy Novozhilov
648a3667e0
[Test] Pack test generator to internal-compiler-test-framework.jar
2022-04-08 09:42:01 +00:00
Dmitriy Novozhilov
419d497929
[Test] Don't pack compiler itself to internal-compiler-test-framework.jar
2022-04-08 09:42:01 +00:00
Dmitriy Novozhilov
a45cc17b1c
[Test] Provide utility for registering idea properties for proper test run
...
In Kotlin project they are set up automatically, but outside they should
be set manually via build system or test framework
2022-04-08 09:42:00 +00:00
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