Mads Ager
250cc1dc92
[JVM] Never treat arguments to methods as locals that can be removed.
...
Fixes KT-44347
2021-01-15 10:33:11 +03:00
Alexander Udalov
e0363788f4
Remove some remaining tests on old coroutines
2021-01-13 19:16:31 +01:00
Zalim Bashorov
47c4197098
[JS old] Revert fix made for KT-44221 in ab753625
...
And mute the test for old BE.
#KT-44221 Open
2021-01-13 01:22:17 +03:00
Dmitriy Novozhilov
e0cd830a0e
[Test] Drop codegen tests for experimental coroutines
...
Experimental coroutines was deprecated in Kotlin 1.3,
so since Kotlin 1.5 we don't support (and don't test) them
2021-01-12 18:35:18 +03:00
Svyatoslav Kuzmich
ab753625fe
[JS Legacy] Fix returning Char from suspend functions (KT-44221)
...
Mark translated expression with a proper type, like we do with
non-suspending calls, to coerce it later.
2021-01-12 15:42:31 +03:00
Svyatoslav Kuzmich
2d88ff6fb2
[JS IR] Fix unsgined integer default arguemtns (KT-44180)
...
Const lowering didn't exprect null constants with unsigned number
types and crashed with NPE. This commit fixes that.
2021-01-12 15:42:31 +03:00
Mads Ager
dfc86feecd
[IR] Extend test coverage for smart cast handling.
2021-01-11 12:01:48 +03:00
Alexander Udalov
ed9a0e514d
Regenerate tests and fir-tree
2021-01-03 14:53:41 +01:00
Shagen Ogandzhanian
96de9144de
[JS IR] Generate stub for exported functions with default params
...
see https://youtrack.jetbrains.com/issue/KT-43407
2020-12-31 20:21:21 +01:00
Alexander Udalov
bf3f6594d5
IR: do not lose $default function annotations when generating calls
...
Losing an annotation like `JvmName` resulted in the incorrect bytecode
generated in the JVM IR backend.
#KT-44160 Fixed
2020-12-31 18:36:24 +01:00
Svyatoslav Kuzmich
b6ad1584c9
[Wasm] Improve interface method dispatch
...
- Use typed Wasm tables for each interface method to avoid runtime
function type check
- Use linear search by implemented interface rather than by individual
virtual function signature
2020-12-30 19:29:10 +03:00
Shagen Ogandzhanian
e7dc199ad7
Init enum entries whenever we access companion object or accessing valueOf
...
Fixes https://youtrack.jetbrains.com/issue/KT-43987
Fixes https://youtrack.jetbrains.com/issue/KT-43989
2020-12-30 14:54:34 +01:00
Dmitry Petrov
7fa04afda2
JVM_IR KT-32115 fix $$delegatedProperties initialization in enum
2020-12-30 15:56:18 +03:00
Dmitry Petrov
81e00ca371
JVM box tests for KT-30402
2020-12-30 10:57:46 +03:00
Shagen Ogandzhanian
55a5695fc0
[JS] Forbid export of interfaces
...
With the only exception of external interfaces.
See https://youtrack.jetbrains.com/issue/KT-44099
2020-12-29 20:43:57 +01:00
Victor Petukhov
30a5eee481
Don't approximate abbreviation during substitution it as it can't be projected at top-level
...
^KT-42036 Fixed
2020-12-29 16:08:38 +03:00
Alexander Udalov
77a9d14f93
Capitalize/decapitalize only ASCII characters across project
...
Use {de,}capitalizeAsciiOnly and to{Lower,Upper}CaseAsciiOnly where
possible, and stdlib's functions with Locale.US everywhere else.
Otherwise, if the default system locale is Turkish, the capital latin
letter "I" is transformed in toLowerCase to "ı" (see
https://github.com/JetBrains/kotlin/blob/66bc142f92085047a1ca64f9a291f0496e33dd98/libraries/stdlib/jvm/test/text/StringJVMTest.kt#L119 ),
which for example breaks the codegen for `intArrayOf` in
KT-25400/KT-43405.
Similarly, lower case latin letter "i" is transformed to "İ".
#KT-13631 Fixed
#KT-25400 Fixed
#KT-43405 Fixed
2020-12-28 16:10:30 +01:00
Dmitry Petrov
5d4b0b19d4
JVM_IR KT-13213 split string constants into parts of acceptable length
2020-12-28 16:50:29 +03:00
Victor Petukhov
37473ad640
Substitute lambda's receiver type during completion including the builder inference stub variables substitution
...
^KT-42175 Fixed
2020-12-25 21:33:37 +03:00
Svyatoslav Kuzmich
672859d447
[Wasm] Support init blocks in inline classes
2020-12-25 17:00:23 +03:00
Victor Petukhov
7ed6aae46e
Fix tests after rebasing
2020-12-25 11:53:21 +03:00
Victor Petukhov
1926434b18
Report error about uninferred type parameter for some special call' subcalls
2020-12-25 11:53:14 +03:00
Dmitry Petrov
9715ae88fe
Minor: regenerate tests
2020-12-25 09:15:47 +03:00
Zalim Bashorov
f7b0f55532
[JS IR test] Add an ability to setup phases to dump after and phases to validate after in box tests using system properties
2020-12-24 20:03:24 +03:00
Zalim Bashorov
df6635085b
[JS IR] Replace calls with invalid type arguments for type parameters with call to errorCode function from runtime.
2020-12-24 20:03:22 +03:00
Dmitry Petrov
a1574bf50a
JVM box tests for KT-30548
2020-12-24 19:35:36 +03:00
Dmitry Petrov
d3349197ba
Minor: regenerate tests
2020-12-23 21:50:12 +03:00
Dmitry Petrov
3f7a776fb8
JVM box tests for KT-21092
2020-12-23 21:50:07 +03:00
Dmitry Petrov
9f908cdf7c
JVM box tests for KT-16752
2020-12-23 21:50:05 +03:00
Jinseong Jeon
aaa3f2e2c1
FIR2IR: correct IR origin for substitution overrides
...
#KT-44054 Fixed
2020-12-23 16:13:05 +03:00
Jinseong Jeon
34dbbdce07
FIR2IR: use lookupTag or class to getLocalClass, not classId
...
Before this commit, we sometimes tried to fetch anonymous object by id,
getting sometimes a wrong result because it's singleton.
Now we use lookupTag or FIR class itself instead.
#KT-44050 Fixed
2020-12-23 16:12:58 +03:00
Dmitry Petrov
632f5af442
Minor: kt21014.kt - add JVM_TARGET 1.8
2020-12-23 11:25:36 +03:00
Dmitry Petrov
3ae8521f12
Minor: drop kt21014.kt (SIGSEGV on HotSpot 6.0_45-b06)
2020-12-22 19:56:54 +03:00
Dmitry Petrov
443cd0fc2c
Tests for issues fixed in JVM_IR
2020-12-22 16:07:06 +03:00
Alexander Udalov
cbd90c3af5
Refactor boolean IR ABI stability flag to enum
...
Introduce an enum DeserializedContainerAbiStability with two values.
This is needed in order to support another reason for ABI instability in
a subsequent commit, namely "unstable because compiled by FIR".
#KT-43592
2020-12-20 23:14:12 +01:00
Shagen Ogandzhanian
4f96f9d6a1
[JS IR] Initialize enum fields before accessing them in companion object
...
see https://youtrack.jetbrains.com/issue/KT-43901
2020-12-18 01:54:59 +01:00
Dmitriy Novozhilov
e7c4121e67
[TEST] Add muting tests with .fail file for js box tests
2020-12-16 19:52:31 +03:00
Dmitriy Novozhilov
d15c7861b2
[TEST] Invert dependency between :test-generator and :tests-common modules
...
This is needed to provide ability for declaring new implementations of
test generators, based on existing infrastructure, which won't add
dependency on :compiler:tests-common
Also this commit removes implicit dependency on :compiler:tests-common
from :compiler:tests-common-new
2020-12-16 19:52:29 +03:00
Dmitriy Novozhilov
bc7e18fb8a
[TEST] Regenerate tests after previous commit
2020-12-16 19:52:28 +03:00
Dmitriy Novozhilov
cb5183ab4d
[TEST] Add implementation of new infrastructure services for compiler tests
...
All of new classes lays in lays in :compiler:tests-common-new module
which includes classes for FE 1.0 and FIR diagnostics tests and
JVM black boxtests
2020-12-16 19:52:23 +03:00
Dmitriy Novozhilov
c8f3a4802e
[TEST] Introduce test-infrastructure-utils module and extract common test utilities here
2020-12-16 19:52:22 +03:00
Dmitriy Novozhilov
23c088afd6
[TEST-GEN] Reorganize package structure in :generators:test-generator module
2020-12-16 19:52:20 +03:00
Dmitriy Novozhilov
380e8a3814
[TEST-GEN] Extract run of TestGenerator to top of test generation DSL
2020-12-16 19:52:19 +03:00
Svyatoslav Kuzmich
b3d8c4a0fc
[JS IR] Apply missing property for all tests tasks like jsIrTest and quickTest
2020-12-14 19:00:05 +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
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
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
Vyacheslav Gerasimov
e6327ef490
Build: Enable test distribution for :js:js.tests:test task
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