Ilmir Usmanov
7761d30365
Minor. Add test to check fallback
2020-11-19 17:39:33 +01:00
Ilmir Usmanov
0d79ed1077
Minor. Update test data
2020-11-19 17:39:32 +01:00
Ilmir Usmanov
2cd9016016
IC mangling: Replace compiler hack with configuration flag
2020-11-19 17:39:30 +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
2829d37cf5
IC mangling: Use old mangling scheme for stdlib
...
This way, new stdlib can still be usable in 1.4.20
2020-11-19 17:39:27 +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
Dmitry Petrov
93f868fb96
KT-43196 member extension property can't be "primary" in inline class
2020-11-16 13:54:19 +03:00
Dmitry Petrov
5d76df6e1a
KT-43045 mangle function name for fake override with default impl
2020-11-13 16:15:29 +03:00
Dmitry Petrov
653b26174b
KT-43006 don't generate no-arg constructor with inline class parameters
2020-11-13 09:59:34 +03:00
Ilmir Usmanov
1376fed1d4
Support non-public inline class constructors
...
#KT-28056 Fixed
2020-11-03 12:10:21 +01:00
Dmitry Petrov
ee5edf4caa
JVM_IR fix 'remove' in inline class implementing MutableCollection
2020-10-16 00:02:12 +03:00
Alexander Udalov
fbf56c054b
JVM IR: fix names of $annotations methods for internal properties
...
#KT-40384 Fixed
2020-10-14 19:32:51 +02:00
Alexander Udalov
3f73be391f
JVM IR: fix names of $annotations methods with inline classes in signature
...
#KT-40385 Fixed
2020-10-14 19:31:58 +02:00
Dmitry Petrov
91b8e32d43
Add ABI tests for classes extending Number and CharSequence
2020-10-09 16:36:35 +03:00
Dmitry Petrov
a412596d8e
JVM_IR emulate old back-end behavior in special bridges + inline classes
...
KT-42491 KT-42539
2020-10-09 16:06:08 +03:00
Dmitry Petrov
b1bd138afb
JVM_IR fix inline class <-> collection stubs issues
...
Move collectionStubMethodLowering before jvmInlineClassPhase, and make
them interact properly.
Note that some issues still remain in inline class <-> special bridges
interaction.
KT-40187 KT-42469
2020-10-06 17:08:24 +03:00
Dmitry Petrov
941a506885
Add test for inline classes implementing collection interfaces
...
KT-40186
2020-10-02 14:06:07 +03:00
Dmitry Petrov
89a0b3e944
Check class source in bytecode listing tests
2020-07-27 19:13:37 +03:00
Dmitry Petrov
0741781462
Compare inner class access flags in bytecode listing tests
2020-07-23 19:13:28 +03:00
Dmitry Petrov
2e31f95554
Update testData
2020-07-20 20:04:32 +03:00
Kristoffer Andersen
8d79a6ae03
[JVM IR] Copy inline class constructor annotations
2020-07-13 11:50:34 +03:00
Dmitry Petrov
b75de60afb
Minor: mute failing test
2020-07-06 10:47:10 +03:00
Dmitry Petrov
17c15cfe0a
JVM, JVM_IR: update bytecode listing testData for inline classes
2020-07-02 22:39:06 +03:00
Dmitry Petrov
2137a4b1e5
JVM, JVM_IR: no nullability annotations on private and synthetic methods
...
NB it looks like it doesn't cover all cases, e.g., some synthetic
methods generated for suspend functions.
2020-06-26 18:51:35 +03:00
Dmitry Petrov
3f266aafb4
JVM: no nullability annotations on private and synthetic fields
2020-06-25 22:31:12 +03:00
Dmitry Petrov
4e92c79bc4
JVM_IR: don't generate nullability annotations on synthetic declarations
...
Fixes KT-36993 and some other related issues.
2020-06-23 20:51:48 +03:00
Dmitry Petrov
e9231b5624
JVM: Generate object and companion object INSTANCE fields as @NotNull
2020-06-22 16:28:00 +03:00
Mikhail Bogdanov
b8f0ad2111
Generate nullability annotations on this receiver in DefaultImpls. Don't generate nullability annotations in private methods
...
#KT-36969 Fixed
2020-06-19 11:57:35 +02:00
Dmitry Petrov
4739adb6dc
KT-36992 Do not generate annotations on synthetic accessors
...
Also, do not generate nullability annotations on synthetic methods.
2020-06-17 23:54:51 +03:00
Dmitry Petrov
cf70c83ab7
JVM: Update tests
2020-05-20 07:19:29 +03:00
Dmitry Petrov
84baa0b4c2
Check more flags in bytecode listing tests
2020-02-26 12:03:37 +03:00
Mark Punzalan
b782e8f0f0
Add IR equivalent of AbstractBytecodeListingTest and muted failures.
2020-02-13 23:44:53 +03:00
Alexander Udalov
e2a42446ed
Use getter names for $annotations methods in most codegen tests
...
This is needed to update master to 1.4, while still testing the latest
compiler by default. Also add one test on the old behavior.
2019-12-30 16:29:13 +01:00
Ilya Chernikov
f38bb19fc6
[minor] Fix testdata for compiler 1.4
2019-12-19 14:01:01 +01:00
Nikolay Krasko
4d0fc1dc22
Remove 182 support
...
#KT-33536 Fixed
2019-08-30 12:13:44 +03:00
Alexander Udalov
01ddac58e1
Add language feature for changed name of property annotations method
...
#KT-31352 Fixed
2019-08-12 16:48:26 +02:00
Alexander Udalov
ea0142da60
Use JVM name of getter in synthetic method for property annotations
...
#KT-31352 In Progress
2019-08-12 16:48:25 +02:00
Vyacheslav Gerasimov
d84c5b1608
Switch to 183 platform
2018-12-06 20:16:58 +03:00
Mikhael Bogdanov
d2a205c72d
Update synthetic parameter processing logic according to ASM 7 changes
...
#KT-27774 Fixed
2018-11-07 15:42:57 +01:00
Dmitry Petrov
f68ce4b35b
Support default parameter values for inline class constructors and funs
...
#KT-26908
#KT-26554
Move default parameter value tests to separate directory
2018-10-15 12:21:14 +03: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
Mikhael Bogdanov
1face1c334
Don't generate annotations on synthetic accessor parameters
2018-09-19 12:14:09 +02:00
Mikhael Bogdanov
38652372ce
Generate private constructors for Enums
...
#KT-2680 Fixed
#KT-16867 Fixed
2018-09-19 12:14:08 +02:00
Dmitry Petrov
88fb76bffc
Fix annotations loading for inline class constructors
2018-09-14 16:09:41 +03:00
Mikhael Bogdanov
03f092fd39
Revert "Generate private constructors for Enums" cause of bootstrap problem
...
This reverts commit 81435c9
2018-09-13 17:07:56 +02:00
Mikhael Bogdanov
81435c98fa
Generate private constructors for Enums
...
#KT-2680 Fixed
#KT-16867 Fixed
2018-09-13 10:09:58 +02:00
Dmitry Petrov
792c5f8b3f
Generate metadata and annotations for hidden constructor
...
Reflection expects to see a callable method for a hidden constructor,
thus, it should be a synthetic accessor.
JVM method signature in metadata should point to the synthetic accessor.
Annotations for hidden constructor should be written on the synthetic
accessor.
2018-09-12 15:33:11 +03:00
Dmitry Petrov
006c0aa740
Hide constructors accepting inline class parameters
2018-09-07 15:57:59 +03:00
Dmitry Petrov
65ad93ebe4
Don't generate getter for private or internal inline class primary vals
2018-09-07 10:27:31 +03:00