pyos
d5d3d9f112
Add regression tests for KT-46890 and other stuff
2021-06-03 12:35:25 +03:00
Alexander Udalov
8dee36d420
Tests: do not add transitive dependencies in multi-module tests
...
Prefer to have all module dependencies, including dependencies on
stdlib/reflect, declared explicitly. This allows to have tests on
situations like the one in KT-45308: three modules A<-B<-C, where C
doesn't depend on A, which was compiling correctly with the old JVM
backend before 1.5, but started to fail with JVM IR in 1.5.
Also simplify the code a bit, remove duplicated logic.
2021-05-20 15:58:05 +02:00
Ilmir Usmanov
9fe503eeb3
Minor. Add regression test
...
#KT-45685 Fixed
2021-05-19 12:45:26 +02:00
Dmitry Petrov
851980e36f
JVM_IR KT-45103 optimize direct invoke for lambdas and callable refs
2021-05-18 22:20:12 +03:00
Steven Schäfer
b2378620c3
JVM IR: Fix handling of anonymous initializers in inline classes ( #4372 )
...
Fixes KT-46554
2021-05-13 18:40:26 +02:00
Ilmir Usmanov
640d263ae1
Do not unbox nullable Result, since before usage it is coerced
...
#KT-46505
2021-05-11 05:49:24 +02:00
pyos
656c2496a6
JVM_IR: omit bound receiver in IrExpressionLambdaImpl parameters
...
and remove a hack intended to replace the missing type conversions this
caused.
#KT-46505 Fixed
2021-05-11 05:49:20 +02:00
Mads Ager
b6fa28ea81
[JVM_IR] Deal with inline-class arguments in large arity lambdas.
...
FunctionNVarargBridgeLowering checked the name of the method instead
of whether the method overrides an invoke method. That doesn't work
when the name of the function gets mangled because of inline class
arguments.
Fixed KT-45084.
2021-05-06 17:27:59 +02:00
Steven Schäfer
84d78035e4
JVM IR: Avoid double mangling of function reference invoke methods
2021-04-29 13:10:43 +02:00
Alexander Udalov
21e9bd7ea2
Add regression tests for obsolete issues
...
#KT-9304
#KT-14961
#KT-16549
#KT-21080
#KT-28234
#KT-30102
#KT-31994
#KT-34291
#KT-38099
#KT-41174
#KT-44622
#KT-44701
#KT-44781
#KT-44849
#KT-44978
#KT-45081
#KT-45286
#KT-45383
#KT-45444
#KT-45907
2021-04-20 21:24:29 +02:00
Ilmir Usmanov
74b1fdcc60
Minor. Add regression test
...
#KT-45991
2021-04-14 10:48:59 +02:00
Ilmir Usmanov
19b1b48e87
Minor. Add tests to check returning inline class from default method
...
#KT-45539 Obsolete
2021-04-14 10:48:54 +02:00
Ilmir Usmanov
bce92d824a
Minor. Add tests to check returning Result from functions
...
Mainly, that virtual functions, returning Result, are mangled.
#KT-45855
2021-04-09 22:09:03 +03:00
Alexander Udalov
c17b6c59f8
JVM IR: add isInlineClassType, use it instead of isInlined
2021-03-26 18:57:01 +01:00
Steven Schäfer
d0424465b8
JVM IR: Resolve fake overrides when calculating return types (KT-44867)
2021-03-18 16:02:35 +01:00
Ilmir Usmanov
e47715f52b
Minor. Add tests with returning inline class from SAM adapter
2021-03-16 20:57:05 +01:00
Ilmir Usmanov
c9f41a2440
Minor. Ignore tests on WASM
2021-03-15 06:14:44 +01:00
Ilmir Usmanov
149064803d
JVM_IR: Do not unbox Result argument inside java SAM adapters
...
#KT-45259
2021-03-15 06:14:42 +01:00
Ilmir Usmanov
4099dfc7e0
JVM_IR: Do not unbox Result argument inside SAM adapters
...
#KT-45259 Fixed
2021-03-15 06:14:40 +01:00
Ilmir Usmanov
6429ac17d8
Revert "Raise RESERVED_VAR_PROPERTY_OF_VALUE_CLASS to error"
...
This reverts commit bad197e075 .
2021-03-12 17:51:21 +01:00
Dmitry Petrov
737fbe271f
JVM_IR Do not generate generic signatures for lifted lambda methods
2021-03-10 21:04:11 +03:00
Pavel Punegov
95a8c60a9c
Ignore test in Native backend. Test overrides kotlin.Result
2021-02-21 11:11:46 +03:00
Ilmir Usmanov
cacd84390e
Use erased upper bound instead of checking for inline type
2021-02-18 18:31:50 +01:00
Ilmir Usmanov
741c1a864f
JVM_IR: IC: Unbox inline class argument of callable reference
...
if it is unbound and the underlying type is reference type.
If the underlying type is primitive, it is boxed and unboxed
correctly, otherwise, it is simply casted and not unboxed.
Additionally, generate functions for inliner with inline classes
in signature, so unboxing works.
The unboxing is removed after inlining.
#KT-44722 Fixed
2021-02-18 18:31:48 +01:00
Ilmir Usmanov
bad197e075
Raise RESERVED_VAR_PROPERTY_OF_VALUE_CLASS to error
2021-02-16 20:59:21 +01:00
Alexander Udalov
73aa465ee9
Add tests for issues fixed in JVM IR
...
Note that KT-30696 is fixed only in the single-module case, and KT-42012
is not fixed fully (see KT-44855).
#KT-30041
#KT-30629
#KT-30696
#KT-30933
#KT-32351
#KT-32749
#KT-38849
#KT-42012
#KT-42990
#KT-44234
#KT-44529
#KT-44631
#KT-44647
2021-02-10 21:42:10 +01:00
Ilmir Usmanov
8af9ce1e0b
Minor. Ignore test on WASM
2021-02-09 12:31:14 +01:00
Ilmir Usmanov
275fef94fe
JVM_IR. Do not mangle callable reference constructor call
...
#KT-44703 Fixed
2021-02-09 12:31:11 +01:00
Ilmir Usmanov
a30a961cf5
Minor. Throw exceptions in test coroutine builders
2021-02-03 19:18:24 +01:00
Alexander Udalov
5480faf5c5
Add tests for issues fixed in JVM IR and other obsolete issues
...
#KT-6007
#KT-16445
#KT-17753
#KT-22488
#KT-23881
#KT-24135
#KT-26360
#KT-27427
#KT-27449
#KT-27830
#KT-28042
#KT-29595
#KT-30708
#KT-32793
2021-02-01 18:29:59 +01:00
Dmitry Petrov
4ec369ac5b
JVM_IR fix special bridge generation for inline classes
2021-02-01 17:57:58 +03:00
Mikhael Bogdanov
1c612376dd
Disable some android box test
2021-01-28 18:30:48 +01:00
Mikhael Bogdanov
0ad24f5346
Enable Android box test
2021-01-28 18:01:21 +01:00
Ilmir Usmanov
952576e98f
JVM_IR: Do not unbox Result parameter if it not only one inline class
...
parameter, since in this case, the compiler generates a bridge, where
the result is unboxed.
2021-01-20 18:30:00 +01:00
Ilmir Usmanov
d48f92775b
JVM_IR: Do not unbox Result parameter in invoke if there is a bridge
...
since the bridge unboxes it.
#KT-44141 Fixed
2021-01-20 18:29:58 +01:00
Ilmir Usmanov
cce9469e6a
JVM_IR: Do not unbox Result parameter in Result methods
...
#KT-44140 Fixed
2021-01-20 06:27:15 +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
Ilmir Usmanov
80289e4a3f
IC Mangling: Generate inline class literal instead of underlying type
...
literal in annotations.
#KT-30280 Fixed
2020-12-30 03:31:08 +01:00
Svyatoslav Kuzmich
672859d447
[Wasm] Support init blocks in inline classes
2020-12-25 17:00:23 +03:00
Svyatoslav Kuzmich
0945c110bf
[JS IR] Support init blocks in inline classes
2020-12-25 17:00:23 +03:00
Ilmir Usmanov
f49cf2d5ca
IC Mangling: correctly mangle inline default functions
...
#KT-43682 Fixed
2020-12-23 18:13:09 +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
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
Ilmir Usmanov
dccfb33bcc
JVM_IR: Unbox argument of type kotlin.Result
...
if the argument has different type in parent: either generic or Any.
#KT-41163 Fixed
#KT-43536 Fixed
2020-12-10 08:27:32 +01:00
Ilmir Usmanov
0dc5f3ac00
IC: call JvmDefault method of inline class using boxed receiver
...
#KT-43698 Fixed
2020-12-08 04:33:36 +01:00
Ilmir Usmanov
0d55c9108d
IC: Forbid inner classes inside inline classes
...
#KT-43067 Fixed
2020-12-04 05:45:53 +01:00
Ilmir Usmanov
15c325cf10
Value classes: Allow nested inline classes
2020-12-04 05:45:51 +01:00
Dmitry Petrov
e6a3e38c4d
JVM_IR no static inline class members for Kotlin JvmDefault methods
...
KT-43698 KT-43051
2020-12-02 20:04:13 +03:00
Georgy Bronnikov
b0e2d5637d
Mute a test for WASM
2020-12-01 18:37:55 +03:00
Georgy Bronnikov
4607eca987
JVM_IR: bug fix in classFileContainsMethod
...
The old test sequence failed for toplevel functions because of file
class wrappers, so that the second branch was never invoked.
2020-12-01 13:15:51 +03:00