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
12533a383e
JVM_IR: mute tests for compiling against Klib
...
The tests fail currently because Klibs are generated by the JS backend,
and signatures differ between JVM and JS (on JVM, return types are
included in mangles for simple functions).
This leads to linkage errors.
Once signatures are reworked and harmonized between backends, the tests
will repair themselves.
2022-05-19 12:02:44 +02:00
Georgy Bronnikov
39bba7973c
Fir2Ir: create file level signatures where appropriate
...
This is godugly code, where a flag for file level signatures is passsed
around.
An alternative would be not to create file level signatures for toplevel
private clases, since those still need unique names, at least on JVM.
But that would break binary compatibility.
Signatures are due for overhaul anyway. Hopefully this code can be
reverted at that point.
2022-05-19 12:02:43 +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
Georgy Bronnikov
109bdb9572
Adjust tests for FirSerializeCompileKotlinAgainstKotlin
2022-05-19 12:02:43 +02:00
Georgy Bronnikov
5605463ecf
Introduce IGNORE_BACKEND_FIR_MULTI_MODULE directive
2022-05-19 12:02:43 +02:00
Ivan Kylchik
20d0a531df
Add new tests to check evaluation of intrinsic сonsts
2022-05-18 21:20:02 +03:00
Ivan Kylchik
dca22d745a
Drop excessive lowerings that are replaced by ConstEvaluationLowering
2022-05-18 21:20:02 +03:00
Ivan Kylchik
44cf64a00c
Convert const values in ranges without explicit cast
2022-05-18 21:20:01 +03:00
Ivan Kylchik
51ccc32a3f
Update test data after introducing IntrinsicConstEvaluation annotation
2022-05-18 21:19:57 +03: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