Ilmir Usmanov
84ccf412cb
Minor. Ignore some tests on old JVM, JS_IR, JS and WASM
...
#KT-32162
2022-02-15 08:11:18 +01:00
Ilmir Usmanov
b33774e5f2
IC mangling: Use empty list as a separator in the new mangling scheme
2020-11-19 17:39:28 +01:00
Ilmir Usmanov
488d4ab018
IC mangling: Use '_' instead of 'x' as a placeholder before hashing
2020-11-19 17:39:27 +01:00
Ilmir Usmanov
c62093f54c
IC mangling: Change mangling rules
...
1. Use 'x' for each parameter, which is not an inline class, every
possible clash is handled by signature rather than name. This change
makes more API changes binary-compatible. So, the changes are in line
with the vision of inline classes are value classes, like primitives.
2. Take return type into account when mangling a function if the return
type is inline class. Otherwise, boxing bridge will not be generated,
which leads to CCE at runtime.
2020-11-19 17:39:24 +01:00
Steven Schäfer
dc0ef996b7
JVM IR: Implement the new inline class ABI
2020-05-28 18:00:35 +03:00
Dmitry Petrov
c165b8d55c
JVM: Update IR bytecode text and signature tests
2020-05-20 07:19:30 +03:00
Dmitry Petrov
cf70c83ab7
JVM: Update tests
2020-05-20 07:19:29 +03:00
Alexander Udalov
22f8b9f475
Remove codegen tests on inline classes based on type parameters
...
According to KT-23819, such inline classes are prohibited. These tests
can be restored (and fixed if needed) as soon as we allow this back
2019-08-27 11:01:08 +02:00
Mikhail Zarechenskiy
80acc56c10
Don't lost type parameters for members of inline classes in the bytecode
...
#KT-33157 Fixed
2019-08-06 17:53:08 +03:00
Alexander Udalov
cfd3d974d1
JVM IR: perform substitution in IrTypeSystemContext.getSubstitutedUnderlyingType
2019-08-05 21:27:20 +02:00
Alexander Udalov
45f93521d9
JVM IR: add IrWriteSignatureTestGenerated
2019-08-05 21:27:20 +02:00
Dmitry Petrov
ab90b2b901
Fix nullability propagation in inline class type mapping
...
#KT-27096
See https://jetbrains.slack.com/archives/C06E082M6/p1537949572000100
2018-09-28 10:46:42 +03:00
Dmitry Petrov
8158dd0c83
Update testData for writeSignature tests
2018-09-07 10:25:59 +03:00
Dmitry Petrov
99498eb7b8
Use 'name-hash' mangling scheme
...
'-' is allowed as a name character both in JVM and in Dalvik, but can't
be a part of a Java identifier.
2018-08-30 14:58:52 +03:00
Dmitry Petrov
a56d1d3ce8
Mangle function names with inline class parameters
...
Avoid name clashes in cases such as
inline class Login(val login: String)
inline class Password(val password: String)
fun validate(login: Login) { ... }
fun validate(password: Password) { ... }
2018-08-30 14:58:50 +03:00
Dmitry Petrov
b6e3218ca2
Use mapping mode for inline class underlying type without wrapping
2018-08-16 15:03:50 +03:00
Mikhail Zarechenskiy
ddf6c37e0e
Prohibit inline classes with special underlying types
...
#KT-25328 Fixed
#KT-23819 Fixed
2018-08-06 10:56:05 +03:00
Mikhail Zarechenskiy
d606e5bc89
Correct boxing for functional types containing inline classes
2018-02-13 13:16:43 +03:00
Mikhail Zarechenskiy
a8a9f774d0
Map inline classes in generic argument position to theirs wrap classes
2018-02-13 13:16:43 +03:00
Mikhail Zarechenskiy
4eb64fb4b9
Support mapping for inline classes based on type variables
2018-02-09 04:56:41 +03:00
Mikhail Zarechenskiy
928a342ace
Initial version of codegen for inline classes
2018-02-05 12:07:40 +03:00
Mikhail Zarechenskiy
d1049e5553
Refine type mapping for nullable inline class types
2018-02-05 12:07:39 +03:00
Mikhail Zarechenskiy
d5400f11a3
Basic inline class mapping to the underlying representation
2018-02-05 12:07:39 +03:00