LepilkinaElena
dd9c0c5c6e
Use separate logic for filtering and skipping in collectAndFilterRealOverrides [KT-43487] ( #3921 )
2020-11-20 19:10:41 +03:00
Alexander Udalov
362775b6b6
JVM IR: minor, improve exception message
2020-11-20 12:43:47 +01: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
Roman Artemev
5d5473ef08
[IR BE] Drop unused context member
2020-11-20 12:04:18 +03:00
Roman Artemev
51cff97b78
[JS IR BE] Drop implicit declaration file
2020-11-20 12:03:05 +03:00
Jinseong Jeon
67604551c5
FIR: reuse visibility checker when determining immutable property reference
2020-11-20 10:48:13 +03:00
Jinseong Jeon
463d53ee5c
FIR: handle reference to property with invisible setter
2020-11-20 10:48:13 +03:00
Ilya Gorbunov
b2b2629e79
Use new kotlin.io.path API in tests
2020-11-20 09:03:25 +03:00
Ilya Gorbunov
090b562db7
Use NIO Files for creating temp files: scripting, daemon, main-kts
2020-11-20 06:09:37 +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
c22071566e
IC mangling: Use old mangling scheme when LV is 1.3
...
Add integration test to check, that nothing is broken with LV 1.3.
2020-11-19 17:39:34 +01:00
Ilmir Usmanov
7ee35af721
IC mangling: Use correct mangling scheme when
...
checking for duplicate signatures.
2020-11-19 17:39:33 +01:00
Ilmir Usmanov
7761d30365
Minor. Add test to check fallback
2020-11-19 17:39:33 +01:00
Ilmir Usmanov
7a18ab9094
IC mangling: Generate version requirements to properties as well
...
Generate the requirements at JVM only.
2020-11-19 17:39:32 +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
bc1b6fef1f
IC mangling: Generalize mangling algorithm between two backends
2020-11-19 17:39:29 +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
20e7a77b78
IC mangling: Write version 1.4.30 requirement to functions with new mangling
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
23184bae05
IC mangling: JVM_IR: Fallback to old mangling rules
...
if classfile does not contain functions mangled in the new way.
2020-11-19 17:39:26 +01:00
Ilmir Usmanov
546eea1982
IC mangling: Old JVM BE: Fallback to old mangling rules
...
if classfile does not contain functions mangled in the new way.
2020-11-19 17:39:25 +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
Alexander Udalov
d21a01ef59
IR: improve "no such .. argument slot" exception message
...
Include the symbol signature, if it's available.
2020-11-19 16:34:03 +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
LepilkinaElena
b0c74c841e
Remove extra copyOf calls during filtering in collectRealOverrides ( #3916 )
2020-11-19 09:53:25 +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
Mikhail Glukhikh
bcf6980f67
[FIR2IR] Fix CCE in FirTypeRef.canBeNull
2020-11-18 16:26:13 +03: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
9a99af53ba
FIR JVM: correct signature conversion for array
...
#KT-43339 Fixed
2020-11-18 13:06:51 +03:00
Jinseong Jeon
77ce5ea15d
FIR Java: handle primitive void return type for synthetic setter
2020-11-18 13:06:50 +03:00
Jinseong Jeon
5c61079d75
FIR: reproduce KT-43339 (Throwable.stackTrace)
2020-11-18 13:06:49 +03:00
Jinseong Jeon
4cb32cd38a
FIR2IR: add implicit NOT_NULL cast for @FlexibleNullability type
2020-11-18 13:06:48 +03:00
Mikhail Glukhikh
b658e99f91
FIR Java: simplify flexible nullability manipulations
2020-11-18 13:06:47 +03:00