pyos
acce055fc4
FIR: fix incorrect handling of suspend function typealiases again
...
The previous attempt stopped this code from throwing an exception during
serialization, but the arity is still wrong so an exception is now throw
when reading the serialized type.
^KT-50997 Fixed
2022-09-12 17:45:40 +02:00
Vladimir Sukharev
c8864369fd
Use main class as test generator name
...
Merge-request: KT-MR-7031
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-09-09 12:51:18 +00:00
Pavel Mikhailovskii
0b453ee328
KT-41670 Check for default property accessors in SAM interfaces
2022-09-07 13:37:38 +00:00
Pavel Mikhailovskii
a75d5ba4cf
KT-53465, KT-53677 Get rid of unnecessary checkcasts to array of reified type
2022-09-06 18:33:38 +00:00
Alexander Korepanov
01507281a2
[Common IR] Forward the extension receiver in the reified wrapper
...
^KT-53672 Fixed
2022-09-05 07:40:30 +00:00
Alexander Udalov
19bbcc5869
Do not generate metadata for callable reference classes
...
After an accidental change in 846537b367 , we started generating metadata
into anonymous classes for callable references. This metadata contained
the Kotlin representation of the referenced function. In KT-53794, this
led to a problem where Java's protected visibility could not be
represented in Kotlin terms, which crashed the backend.
But also, this metadata is useless because there's no real use case for
interpreting it (since you already have a function reference object at
runtime with all the needed information), so it would take some extra
space in the bytecode.
#KT-53794 Fixed
2022-09-01 12:15:25 +02:00
Artem Kobzar
8b826a865b
[K/JS, K/WASM] feat(Enum.entries): add support of new enum static field for JS and WASM.
2022-08-29 16:04:12 +00:00
Alexander Udalov
690322b203
Add flag -Xno-new-java-annotation-targets
...
Do not generate TYPE_USE/TYPE_PARAMETER Java annotation targets when
this flag is specified.
#KT-53712 Fixed
2022-08-29 13:43:49 +02:00
Alexander Udalov
a09fd45ade
Do not generate TYPE_USE/TYPE_PARAMETER when compiling against JDK 1.6
...
#KT-53712
2022-08-29 13:43:32 +02:00
Pavel Mikhailovskii
d65775ca1a
KT-47475 Do not copy InnerClass attribute for WhenMapping classes
2022-08-25 21:41:14 +00:00
Steven Schäfer
a90c4d5dd5
JVM IR: Optimize equality on class literals
2022-08-23 00:14:11 +02:00
Pavel Kunyavskiy
5034581788
[K/N] Fix references for inline function
...
Corresponding lowering creating wrappers from JS Backend was used.
Also, the lowering was changed to create local function, instead of
normal one in outer scope, as a lot of logic from local declarations
lowering should be duplicated otherwise for correct type parameters
handling.
^KT-38535
2022-08-18 13:23:10 +00:00
Pavel Mikhailovskii
8ba80b4b7b
KT-1436 Allow break/continue in inlined lambdas
2022-08-11 10:38:23 +00:00
Pavel Kunyavskiy
18cda8844d
[K/N] Fix possible data races found by thread sanitizer
2022-08-10 08:36:07 +00:00
Pavel Kunyavskiy
3424e756ad
[K/N] Fix for instantiating annotations from already lowered file
...
If annotation class is already lowered, it can have more than one
constructor. So we should use primary one, not any one.
^KT-53475
2022-08-08 16:35:22 +00:00
Igor Chevdar
7090a2716a
[box-tests] Made test Native-specific
...
Seems like other backends don't like top level lateinit properties
2022-08-07 08:23:41 +03:00
Igor Chevdar
6799988227
[box-tests] Added a multi-module test on lateinit properties
2022-08-06 17:40:27 +00:00
Vsevolod Tolstopyatov
14b13a2f17
[kotlin.reflect] Introduce ClassValue-based cache for KClassImpl
...
* Replace pcollections with ClassValue/ConcurrentHashMap-based caches
* Do not store weak references, instead cache strong references and count on ClassValue to unload the corresponding classloader if necessary
* ConcurrentHashMap does not rely on WeakReference as it's only selected on Android where classloader leaks don't exist
* Update reflect/scripting JDK requirement to Java 8 in order to proceed
#KT-53454
#KT-50705
Merge-request: KT-MR-6788
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com >
2022-08-05 15:35:34 +00:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Ilya Gorbunov
f91ea4b4d9
Add more tests for 'contains' in ranges #KT-52933
...
- ranges produced by 'rangeUntil' operator
- ranges of unsigned values
- more elements in ranges produced by `downTo`
2022-08-03 22:18:14 +00:00
Ilya Gorbunov
a044555299
Do not run rangeUntil operator tests in old JVM BE #KT-52933
2022-08-03 22:18:12 +00:00
Steven Schäfer
03aee58585
JVM IR: Avoid IrComposite in ReturnableBlockLowering (KT-53202)
2022-08-03 00:19:31 +02:00
Steven Schäfer
6f0ff6aeb0
IR: Fix scope transparency in ReturnableBlockLowering
...
An IrReturnableBlock introduces a new variable scope and shouldn't be
replaced with a transparent IrComposite block.
2022-07-29 01:06:44 +02:00
Ilya Gorbunov
1addc23b23
Add range iteration tests for rangeUntil
...
#KT-52932
2022-07-26 23:52:10 +00:00
Alexander Udalov
584b70719e
JVM IR: disable SAM conversion in case type has 'in' projection
...
... and the corresponding type parameter has a non-trivial (i.e.
non-`Any?`) upper bound.
The best solution here would be to get rid of
`removeExternalProjections` completely, and just use the type of the
argument at the call site, but see KT-52428.
#KT-51868 Fixed
2022-07-23 01:10:53 +02:00
Pavel Mikhailovskii
fd5800e8b5
KT-53090 Support -Xlambdas=indy for anonymous functions
2022-07-18 08:18:05 +00:00
Steven Schäfer
8014712569
JVM IR: Check that we generate callable references in tests
2022-07-14 23:24:18 +02:00
Pavel Mikhailovskii
b26155dd9e
KT-53007 Fix accessibility checks when calling a protected member via super@Outer
2022-07-14 13:09:42 +02:00
Pavel Kunyavskiy
5cdda48487
[K/N] Extract const val initializers to place of usage
...
This would make behaviour more consistent with jvm. There is still
a difference in behaviour about point where side effects happen.
^KT-52970
2022-07-13 08:49:40 +00:00
Vladimir Sukharev
fd52f475cb
Devirtualization fails to eliminate boxing in function reference context
...
^KT-49847 Fixed
Merge-request: KT-MR-6460
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-07-12 08:26:27 +00:00
Victor Petukhov
cb2dbca0c3
[FE 1.0] Support loading rxjava3 nullability annotations on bounded wildcards
...
^KT-53041 Fixed
2022-07-11 12:44:07 +00:00
Victor Petukhov
2057deb91b
[FE 1.0] Create DONT_CARE type only for callable references with no expected type
...
Otherwise, it can be resolved safety
^KT-52270 Fixed
2022-07-11 12:44:06 +00:00
Nikita Nazarov
7287be6879
Add tests on variable spilling with debug mode enabled
...
#KT-48678 Fixed
2022-07-07 14:51:24 +03:00
Nikolay Krasko
d080297c20
Revert "Add tests on variable spilling with debug mode enabled"
...
This reverts commit 65bb6abae4 .
2022-07-05 11:04:50 +00:00
Pavel Kunyavskiy
c1ec1d9d4c
[K/N] Handle Unit? and Nothing? correctly in finally transformation
...
^KT-52985
2022-07-05 06:54:29 +00:00
Nikita Nazarov
65bb6abae4
Add tests on variable spilling with debug mode enabled
...
#KT-48678 Fixed
2022-07-02 18:29:18 +03:00
Pavel Mikhailovskii
8a402bcacd
KT-52875 Fix extension function literal creation with -Xlambdas=indy
2022-06-30 14:13:05 +00:00
Ilmir Usmanov
a5084c2f69
JVM IR: Make receiver type of IrGetField not null
...
otherwise, it will be mapped to inline class type if underlying type
is primitive of nullable.
#KT-52913 Fixed
2022-06-30 01:28:09 +00:00
Ilmir Usmanov
09c9641e23
FE: Use safe call when searching for suspend modifier
...
The modifier does not exist, when the parameter type is typealias.
#KT-35187 Fixed
2022-06-29 06:12:44 +02:00
Pavel Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Ilmir Usmanov
f34ae686a0
JVM: Make coroutines spilling tests runtime
...
instead of bytecode text ones. Check the content of continuation
object instead of bytecode, since this is less prone to changes during
changes in coroutines codegen.
#KT-48678
2022-06-27 23:11:40 +02:00
Pavel Kunyavskiy
dfcf2cfa84
[K/N] Fix extracting local classes from lambda in cached inline function
...
^KT-52540
2022-06-27 14:09:27 +00:00
Pavel Mikhailovskii
3766698081
KT-52743 IR: Fix null checks in Elvis operators
2022-06-22 09:11:24 +00:00
Dmitriy Novozhilov
b73783b693
Add test for KT-52580
2022-06-21 14:10:37 +00:00
Victor Petukhov
fa7809cd80
[FE] Remove BuilderInference annotation from tests
2022-06-21 15:01:56 +02:00
Steven Schäfer
194a1d1c6a
JVM IR: Start fake variables for default lambdas after initialization
...
KT-52702
2022-06-15 16:49:22 +02:00
Pavel Mikhailovskii
bcd8a28d4c
KT-47823 IR.JVM Fix handling of for loop ranges with inline types and break/continue/return
2022-06-10 18:42:28 +00:00
pyos
27c51f5f88
JVM_IR: skip SAM lambdas when computing enclosing method of objects
...
This is what Java 15+ does, and it permits accessing captured type
parameters via reflection. The alternative is to emit generic signatures
on the lambda methods, but that was disabled and I have no clue why.
^KT-52417 Fixed
2022-06-08 23:59:58 +02:00
Pavel Mikhailovskii
f81d47bad6
KT-46797 Generate generic signatures for suspendImpl
2022-06-08 16:15:08 +02:00
Steven Schäfer
dbb6144ab0
JVM IR: Avoid boxing in generic floating point equality (KT-48635)
2022-06-08 15:38:06 +02:00