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
fe3030c432
[JS IR] Drop last null arguments in calls of external functions
...
^KT-40090 fixed
2020-11-23 16:05:19 +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
Jinseong Jeon
8eb2ae18dc
FIR checker: refactor EventOccurrencesRange accumulation
2020-11-23 14:54:19 +03:00
Jinseong Jeon
b9d3578a86
FIR checker: refactor ControlFlowInfos whose key is EdgeLabel
2020-11-23 14:54:19 +03:00
Jinseong Jeon
b6a4c279a4
FIR checker: refactor ControlFlowInfos whose value is EventOccurrencesRange
2020-11-23 14:54:19 +03:00
Jinseong Jeon
cf8f5b0912
FIR checker: make calls effect analyzer path-sensitive
2020-11-23 14:54:18 +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
Kristoffer Andersen
18612c1ef0
[JVM+IR] Rebase LVT test of destructuing in lambda params
...
The debug experiece of destructuring patterns in lambdas is different
across the two backends due to the IR backend moving local variables
to fields.
However, since the destructuring variable is never actually visible in
the debugger (no linenumbers in the live range of the variable), and
the variable is never used for anything other than hiding it from the
debugger, we propose that it is not actually necessary to include it
in the LVT (and in fact, could be left out of the LVT on the old
backend).
2020-11-23 10:54:04 +01:00
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