Dmitriy Novozhilov
5d0655247f
[NoArg] Add implementation of plugin for FIR
2022-06-07 14:12:18 +00:00
Pavel Mikhailovskii
65b2cee913
KT-23397 Optimize out field for property delegate when it's safe (JVM)
2022-06-07 10:46:01 +00:00
Ilya Gorbunov
e14ac2a062
Test kotlin-repeatable annotations on Android
...
(except for type-use annotations)
2022-06-04 10:39:37 +00:00
Ilmir Usmanov
f922684169
Minor. Add regression test
...
#KT-52561 Fixed
2022-06-02 13:26:24 +00:00
Denis.Zharkov
c1904004c4
FIR: Fix case when smartcast receiver is used for call to private method
...
^KT-54432 Fixed
2022-06-01 16:02:30 +00:00
Pavel Mikhailovskii
3b5179686e
KT-52592 Fix NPE from KProperty.getExtensionDelegate on property delegated to another property; make $delegate methods private
2022-06-01 14:02:28 +00:00
Victor Petukhov
96d1f89836
[BE] Support until operator in back-ends
2022-05-31 08:42:56 +00:00
Pavel Mikhailovskii
2ceccec2b8
KT-52551 Create a static initialization section in case of delegation to a property reference from a file class
2022-05-30 14:16:18 +00:00
Ivan Kochurkin
feb3f41108
[FIR] Fix resolve inside lambda
...
The lambda is passed to extension function with type parameters
that defined inside this lambda
^KT-52197
^KT-52190 Fixed
2022-05-29 23:41:25 +03:00
Ivan Kochurkin
ad7c213ab2
[FIR] Initialize type for annotation arguments during deserialization
...
Get rid of IrErrorTypeImpl creating in FIR2IR
2022-05-29 23:41:23 +03:00
Ivan Kochurkin
0ef043b074
[FIR2IR] Consider property init value from nested class, ^KT-52057 Fixed
2022-05-29 23:41:23 +03:00
Victor Petukhov
0199c76c06
[FE 1.0] Check callable reference return type safety during resolution
...
^KT-51844
^KT-52503 Fixed
2022-05-27 13:56:34 +00:00
Victor Petukhov
51551998c7
Revert "[FE 1.0] Take care callable reference candidates with recursive candidate return type"
...
This reverts commit d04beaa8bb49c99ceb993f3f7b32169c393b39f4.
2022-05-27 13:56:33 +00:00
Victor Petukhov
b411eb36e8
[FE 1.0] Take care standalone lambdas during updating types in the builder inference
...
^KT-50520 Fixed
2022-05-27 13:56:32 +00:00
Pavel Kunyavskiy
2dac366dbc
[K/N] Temporary disable privateSuperType test for native
...
^KT-52498
2022-05-24 21:15:25 +00:00
Mikhail Glukhikh
7c89f0188a
FIR: resolve conflicts around SAM calls properly
2022-05-24 12:29:27 +00:00
Dmitriy Novozhilov
c777ecd470
[JS] Unmute tests due to fixed KT-52339
2022-05-23 12:04:37 +00:00
Dmitriy Novozhilov
d66748d011
[FIR] Extract expect actual matching into separate phase
2022-05-20 13:33:04 +00:00
Svyatoslav Kuzmich
d1c81eb6ba
[Wasm] Support Wasm GC milestone 5
2022-05-20 12:22:43 +03:00
Georgy Bronnikov
7605494f2b
Fir2Ir: provide fake file-level signatures for toplevel privates
...
We need to supply signatures for private declarations even when their
containing file is not known. In situations where the FirDeclaration in
question is already known (i.e. where we are never going to serach for
the declaation based on that signature), FirDeclaration itself is
sufficient as a key.
2022-05-19 12:02:44 +02:00
Georgy Bronnikov
3a4b8962f9
Fir2Ir: simplify getCachedIrTypeParameter
...
I could not figure out the reason for the special case in that function.
Tests do not show anything useful.
2022-05-19 12:02:44 +02:00
Georgy Bronnikov
49576e0cbb
Fir2Ir: handle nested class references in type parameter bounds
2022-05-19 12:02:44 +02:00
Georgy Bronnikov
9d4ab09b41
FIR: mute test
...
Getters for synthetic Java properties are generated as substituted
declarations, which leads to wrong bytecode.
2022-05-19 12:02:43 +02:00
Anastasia.Shadrina
292c0c4383
[FE] KT-51234 Check subtyping between context receivers
2022-05-17 15:27:27 +00:00
Anastasia.Shadrina
a3fa2dc9bf
[Tests] Fix contextualInlineCall.kt to avoid subtyping relation error
2022-05-17 15:27:27 +00:00
Anastasia.Shadrina
d857142514
KT-51243 Fix parameterized contextual lambda
...
^KT-51243 Fixed
2022-05-17 15:27:26 +00:00
Steven Schäfer
90d09dce2c
JVM IR: Mangle overridden symbols in non-inline functions (KT-52394)
2022-05-17 12:13:29 +00:00
pyos
513ef575ce
JVM: correctly merge typed null values
...
1. merge(null of type A, null of type B) = null of unknown type;
2. merge(null of type A, something of type B) = merge(unknown null, B).
^KT-52311 Fixed
2022-05-17 11:58:06 +00:00
Steven Schäfer
0da23198e6
JVM_IR: Add null-checks in SAM wrapper constructors (KT-50108)
2022-05-14 02:01:44 +02:00
Denis.Zharkov
e632689d90
FIR2IR: Fix case of using context receivers in property initializers
2022-05-13 18:04:02 +00:00
Denis.Zharkov
b87412c5af
FIR2IR: Fix substitution work for context receivers
2022-05-13 18:04:02 +00:00
Denis.Zharkov
9ec2411218
FIR: Fix behavior for context-receiver contained super class constructor
...
^KT-51889 Fixed
2022-05-13 18:04:02 +00:00
Denis.Zharkov
81416d1c46
Fix codegen for context-receiver contained super class constructor calls
...
^KT-51889 In Progress
2022-05-13 18:04:01 +00:00
Dmitriy Novozhilov
be76cd39d2
[JS] Ignore some tests due to KT-52339
2022-05-10 16:16:55 +00:00
Ilmir Usmanov
4f53b085ec
Do not override collection stub, if the override is suspend
...
but the stub is not. The other way around should be OK.
#KT-52237 Fixed
2022-05-09 23:16:58 +00:00
pyos
b19b265735
JVM_IR: generate continuation classes for suspend inline references
...
This is somewhat suboptimal since this results in `::suspendInline`
generating 2 classes while `{ suspendInline() }` only creates 1, but
it's the best allowed by the existing hierarchy of classes in stdlib. At
least it works?
^KT-50832 Fixed
2022-05-09 23:15:05 +00:00
Victor Petukhov
9f31f074da
[FE 1.0] Take care callable reference candidates with recursive candidate return type
...
^KT-51844 Fixed
2022-05-09 19:23:43 +00:00
Victor Petukhov
ec6ec20728
[FE 1.0] Fix subtyping for captured integer literal types
...
^KT-50877 Fixed
2022-05-09 19:23:42 +00:00
Victor Petukhov
7675361380
[FE 1.0] Continue completion of calls inside that builder inference call postponed type variables of which has already been inferred
2022-05-09 12:38:39 +00:00
Victor Petukhov
b8030ec1de
[FIR] Substitute lambda implicit receivers with builder inference stub types
...
^KT-51988 Fixed
2022-05-09 12:38:38 +00:00
Victor Petukhov
6027c2a9aa
[FE] Substitute fixed type variables with inferred stub types
...
Actually, a type variable might be fixed into a stub type. Such stub type should be substituted before sub calls completion
^KT-51988 Fixed
2022-05-09 12:38:37 +00:00
Alexander Udalov
ba20549e13
Fix JVM target in tests using boolean comparisons
...
These tests don't work on JVM target 1.6 after 6d664bcd10 because we're
generating `Boolean.compare` which is only available since 1.8. (It is
not a big deal because JVM target 1.6 is prohibited for users now.)
2022-05-06 03:47:25 +02:00
Alexander Udalov
6d664bcd10
JVM IR: fix operand type for CompareTo intrinsic
...
It's incorrect to take the first parameter type from the expression
itself because it can be nullable if smart casts are used. And if it's
nullable, it's mapped to the wrapper type and calling
`comparisonOperandType` for it makes no sense. Instead, take the type
from the callee function, as it's guaranteed to be mapped to a JVM
primitive type.
E.g. in `test1` function in the added test, the problem was that the
dispatch receiver type of the call expression is `Double?`, which is
mapped to `java/lang/Double`, whereas we clearly wanted to obtain the
primitive `D` (double) type.
#KT-52163 Fixed
2022-05-05 23:06:21 +02:00
Zalim Bashorov
2c20a71d08
[Codegen tests] Specify JVM as target backend for inferenceFlexibleTToNullable.kt
2022-05-05 21:03:37 +00:00
Zalim Bashorov
a6e8912af0
[Wasm] Mute failing tests in box/delegatedProperty
2022-05-05 21:03:36 +00:00
Zalim Bashorov
6ebeeabe0f
[Codegen tests] Fix the test (kt39588)
...
For negative case, throwing CCE, we already have the issue KT-8135
and dedicated tests:
* genericDelegateUncheckedCast1.kt
* genericDelegateUncheckedCast2.kt
Related issues: KT-8135 KT-39588 KT-48749 KT-49837
2022-05-05 15:47:54 +00:00
Victor Petukhov
fb76d819f0
[FE] Erase type parameters of super types during intersection type emptiness check as well
2022-04-27 19:50:27 +00:00
Victor Petukhov
0f1d212fc5
[FE] Fix tests
2022-04-27 19:50:27 +00:00
Alexander Udalov
24f3c7dc7d
Psi2Ir: fix usage of flexible vararg type after approximation
...
This only affects JVM IR, and this is similar to how this was done in
the old JVM backend in `CallBasedArgumentGenerator.generateVararg`.
#KT-52146 Fixed
2022-04-22 14:15:28 +02:00
Alexander Udalov
6734f542b3
JVM IR: sanitize indy lambda proxy names correctly
...
In case there are several proxy functions for indy lambdas in the same
container, its names are "...__proxy", "...__proxy-0", "...__proxy-1",
..., yet before this change, only the first one was sanitized. So if
it's happening inside a constructor, `<init>` was left unrenamed which
led to ClassFormatError.
#KT-52040 Fixed
2022-04-21 17:06:16 +02:00