Ilya Goncharov
1b5ebd83de
[JS IR] Lazy initialisation is optional for tests
...
^KT-43222 fixed
2020-11-24 12:33:43 +03:00
Ilya Goncharov
aa0f9dc1e2
[JS IR] Don't target exact wasm backend
...
^KT-43222 fixed
2020-11-24 12:33:42 +03:00
Ilya Goncharov
06b276f9c3
[JS IR] Migrate on body lowering pass and declaration transformer
...
^KT-43222 fixed
2020-11-24 12:30:21 +03:00
Ilya Goncharov
99d0740234
[JS IR] Ignore JS_IR backend in top level side effect properties
...
^KT-43222 fixed
2020-11-24 12:30:04 +03:00
Ilya Goncharov
d6bc309c94
[JS IR] Eager initialisation for all pure properties
...
^KT-43222 fixed
2020-11-24 12:29:48 +03:00
Ilya Goncharov
3da9761f37
[JS IR] Add test on lazy initialisation
...
^KT-43222 fixed
2020-11-24 12:29:28 +03:00
Jinseong Jeon
eff4cec3e0
FIR2IR: convert annotations on delegated members
2020-11-23 19:36:10 +03:00
Ilya Goncharov
64895fe7da
[JS IR] Test with js specific moved to js.translator
...
- Move js function from `main` to separate js file
^KT-40090 fixed
2020-11-23 16:05:33 +03:00
Ilya Goncharov
5c731c6c04
[JS IR] Add test in external js fun with default args
...
^KT-40090 fixed
2020-11-23 16:05:02 +03:00
Dmitry Petrov
2662679579
KT-43399 properly erase extension receiver type in property$annotations
2020-11-23 13:58:52 +03:00
Dmitry Petrov
551d0c1b64
JVM_IR KT-43440 private-to-this default interface funs are private
2020-11-23 13:56:17 +03:00
Dmitry Petrov
bf7fdcda6e
KT-42909 fix missing loop variable in 'withIndex' ranges
2020-11-23 13:56:17 +03:00
LepilkinaElena
dd9c0c5c6e
Use separate logic for filtering and skipping in collectAndFilterRealOverrides [KT-43487] ( #3921 )
2020-11-20 19:10:41 +03:00
Dmitry Petrov
b495fd542f
JVM, JVM_IR: KT-42281 proper array->primitive coercion
2020-11-20 14:33:20 +03:00
Dmitry Petrov
e59c8e0a5c
JVM_IR KT-42137 bridges are not generated for fake overrides
2020-11-20 14:33:20 +03:00
Jinseong Jeon
463d53ee5c
FIR: handle reference to property with invisible setter
2020-11-20 10:48:13 +03:00
Steven Schäfer
7bfe2c0bbc
JVM IR: Update test expectation for testSamAdapterAndInlineOnce
...
...and remove redundant bytecode text tests.
2020-11-19 19:46:49 +01:00
Steven Schäfer
8574cb4466
JVM IR: Don't generate line numbers and null checks in SAM wrapper constructors
2020-11-19 19:46:49 +01:00
Steven Schäfer
68e2d0d245
JVM IR: Generate synthetic final implementation methods in SAM wrappers
2020-11-19 19:46:49 +01:00
Steven Schäfer
a475fa2a21
JVM IR: Use raw types in SAM wrappers
2020-11-19 19:46:49 +01:00
Steven Schäfer
999151abac
JVM IR: Generate SAM wrapper fields as synthetic final
2020-11-19 19:46:49 +01:00
Steven Schäfer
ec1d42e92b
JVM IR: Generate SAM wrapper classes as non-synthetic
2020-11-19 19:46:49 +01:00
Steven Schäfer
36711a768b
JVM IR: Use inline SAM wrappers inside of inline lambdas
2020-11-19 19:46:49 +01:00
Alexander Udalov
f2b8c67962
Fix JvmTarget6OnJvm11 tests after 7b5544ebd3
2020-11-19 18:49:55 +01:00
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
89d45bf909
IC mangling: Use old mangling scheme in FIR tests
...
instead of ignoring them.
This affects all unsigned tests.
2020-11-19 17:39:31 +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
f7164404c9
IC mangling: Ignore FIR tests
2020-11-19 17:39:26 +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
e17158d961
JVM_IR KT-42758 don't use 'this' for object self-reference by name
2020-11-19 16:34:04 +03:00
Dmitry Petrov
118a7d4e34
JVM_IR KT-43242 generate switch subject as primitive 'int'
2020-11-19 16:34:04 +03:00
Alexander Udalov
7b5544ebd3
Use -source/target 1.6 for Java sources in codegen tests
...
In cases when the test has the JVM_TARGET directive, use that one for
Java compilation as well.
Otherwise, for box tests, the corresponding test in `JvmTarget6OnJvm6`
(module `:compiler:tests-different-jdk`) will fail. However, it affects
all codegen tests, so fix a bunch of them which use Java 8+ features to
explicitly compile with JVM target 1.8. In particular, this obsoletes
the SKIP_JDK6 directive in those tests because "JVM_TARGET: 1.8" also
skips it for JDK 6.
The check for IS_SOURCE_6_STILL_SUPPORTED is needed in order to still be
able to run tests in the project while only having a single JDK > 11
installed, and having all of the env vars JDK_16, JDK_17, JDK_18
pointing to that JDK.
2020-11-18 18:43:43 +01:00
Mads Ager
7b4e0b2f5d
[JVM_IR] Deal with lowering ordering issues for JvmStatic function references.
...
Do not destructively update the @JvmStatic function, instead
create a copy on first access, and replace the original with
the copy in the jvm static lowering. This ensures that the original
function is seen in other lowerings independently of file lowering
order.
2020-11-18 17:13:00 +01:00
Dmitry Petrov
3d2f5f4bc1
KT-42018 explicitly cast inline class values in safe-as
2020-11-18 18:51:15 +03:00
Kristoffer Andersen
edd3b457d4
[JVM+IR] Migrate/improve receiver mangling test suite
2020-11-18 15:18:10 +01:00
Kristoffer Andersen
5967e8295e
[IR] Align captured receiver variable naming with old BE
2020-11-18 15:18:10 +01:00
Dmitry Petrov
ca41f733b6
KT-41841 no delegate to private $default fun in multifile facade
2020-11-18 15:04:39 +03:00
Jinseong Jeon
4cb32cd38a
FIR2IR: add implicit NOT_NULL cast for @FlexibleNullability type
2020-11-18 13:06:48 +03:00
Dmitry Petrov
a27c6b77cf
KT-43370 ACC_DEPRECATED on property accessors implemented by delegation
2020-11-17 18:16:37 +03:00
Denis Zharkov
c6f46598ca
Set TARGET_BACKEND to JVM for failing irrelevant tests
2020-11-16 22:20:44 +03:00
Alexander Udalov
a3830b2611
JVM IR: copy corresponding property+annotations for DefaultImpls methods
...
Instead of using methodSignatureMapper which was an obsolete hack to
make accessor names "getFoo" instead of "<get-foo>".
In particular, this keeps the `@Deprecated` annotation on the
corresponding property, which results in ACC_DEPRECATED in codegen.
#KT-43326 Fixed
2020-11-16 19:15:49 +01:00
Alexander Udalov
5212ae6bbd
JVM IR: keep property annotations for inline class replacements
...
In particular, `@Deprecated` is not lost anymore and accessors of
deprecated property are generated with ACC_DEPRECATED just as in the old
backend.
#KT-43327 Fixed
2020-11-16 19:15:49 +01:00
Denis Zharkov
14305d1eba
FIR: Simplify callable references resolution
...
Also that fixes some bugs
2020-11-16 15:50:39 +03:00
Denis Zharkov
d4c7d4fc7c
FIR: Fix callable references resolution with stub receivers
...
Use stubReceiver as a receiver for fake calls
See issues KT-43358 KT-43359 KT-43378
2020-11-16 15:50:39 +03:00
Denis Zharkov
f97cc0b62d
FIR: Rework receivers processing in resolution
...
- Put extensionReceiver to candidate even if it's explicit (for sake of clarity)
- Split CheckReceiver (dispatch part should only check nullability)
2020-11-16 15:50:39 +03:00
Denis Zharkov
4c9a4548f2
FIR: Fix overrides binding for Java inheritor
...
`overriddenMembers` contract requires original (non-enhanced) function
See other usages
Ignored tests have been working accidentally
^KT-43289 Open
2020-11-16 15:50:39 +03:00