Roman Artemev
1a64e2da91
[KLIB] Add klib layout tests
...
- currently only file paths are checked
2021-12-15 21:13:53 +03:00
Dmitry Petrov
34c70ea04e
JVM_IR KT-50193 result of !! is non-null
2021-12-14 17:10:20 +03:00
Ivan Kylchik
b131c52889
Drop all usages of WITH_RUNTIME directive
2021-12-13 18:07:11 +03:00
Mikhail Glukhikh
febf336d23
IrConstTransformer: transform constants also inside call children
2021-12-13 16:24:59 +03:00
Mikhail Glukhikh
e591f79533
FIR2IR: fix origins for anonymous functions & lambdas
2021-12-09 13:26:41 +03:00
Mikhail Glukhikh
a6d4f9c3b0
FIR: don't change explicitly given anonymous function type
2021-12-09 13:26:40 +03:00
Mikhail Glukhikh
e1ca5fe344
FIR2IR: apply suspend conversions also to varargs
2021-12-09 13:26:38 +03:00
Mikhail Glukhikh
9b42fab9de
FIR2IR: properly support combinations of SAM/suspend conversions
2021-12-09 13:26:36 +03:00
Mikhail Glukhikh
5b058cfcdc
FIR2IR: support RawType internal annotation
2021-12-09 13:26:32 +03:00
Dmitry Petrov
0ccd7a7e0c
KT-47939 fun interface constructor reference should throw NPE for null
2021-12-08 14:12:41 +03:00
Dmitry Petrov
e5eee9bab9
KT-47939 KotlinFunInterfaceConstructorReference is experimental
2021-12-08 14:12:40 +03:00
Dmitry Petrov
72f7276f3c
PSI2IR KT-47939 more tests
2021-12-08 14:12:40 +03:00
Dmitry Petrov
50b0dae786
KT-47939 fixes after review
2021-12-08 14:12:37 +03:00
Dmitry Petrov
58f1504aaf
KT-47939 basic fun interface constructor reference box test
2021-12-08 14:12:37 +03:00
Dmitry Petrov
11daed8b01
FIR2IR KT-47939 callable references to fun interface constructors
2021-12-08 14:12:36 +03:00
Dmitry Petrov
f55f880726
Minor: regenerate tests, update testData
2021-12-08 14:12:35 +03:00
Dmitry Petrov
27a144f86f
PSI2IR KT-47939 callable references to fun interface constructors
2021-12-08 14:12:34 +03:00
Mikhail Glukhikh
386e2e0950
FIR2IR: don't create separate delegate fields for constructor properties
2021-12-07 23:17:38 +03:00
Dmitriy Novozhilov
50f610cfd8
[Test] Add forgotten dumps for Fir2Ir text tests
2021-12-06 19:23:14 +03:00
Mikhail Glukhikh
fa8441fb23
FIR2IR: insert implicit not-null casts in delegated calls
2021-12-06 18:07:18 +03:00
Mikhail Glukhikh
7cfec0d846
FIR2IR: find & use delegate-to members properly
2021-12-06 18:07:18 +03:00
Mikhail Glukhikh
a919351d07
FIR2IR: change delegate field type to initializer type
2021-12-06 18:07:18 +03:00
Mikhail Glukhikh
85240bdb06
FIR2IR: generate type arguments in delegation calls
2021-12-06 18:07:17 +03:00
Dmitriy Novozhilov
df2e9e3797
[FE 1.0] Correctly set USED_AS_EXPRESSION for unreachable when and if blocks
...
^KT-50028 Fixed
2021-12-06 17:24:06 +03:00
Anastasiya Shadrina
4d3035e2f7
[Parser] Do not support local contextual declarations
2021-12-03 20:22:17 +03:00
Anastasiya Shadrina
2d088196ce
[FE] Fill DESCRIPTOR_TO_CONTEXT_RECEIVER_MAP only with CR enabled
2021-12-02 20:25:06 +03:00
Anastasiya Shadrina
a70036c945
[Tests] Add a test with type parameter as a context receiver
2021-12-02 20:24:58 +03:00
Anastasiya Shadrina
08570a37b8
[PSI2IR] Check how contextual functional type works with IR
2021-12-02 20:24:56 +03:00
Anastasiya Shadrina
4d0eb74d79
[Tests] Make sure desugaring works with context receivers
2021-12-02 20:24:52 +03:00
Anastasiya Shadrina
0bfea4fc52
[IR, Tests] Fix functionalType sample
2021-12-02 20:24:51 +03:00
Anastasiya Shadrina
17f24319d0
[IR, Tests] Add context receivers count to IR dump
2021-12-02 20:24:46 +03:00
Anastasiya Shadrina
2fbfee3e11
[PSI2IR] Fix parameter initialization for constructors with CR
2021-12-02 20:24:36 +03:00
Anastasiya Shadrina
f05ca5be33
[PSI2IR] Additional receiver -> context receiver
2021-12-02 20:24:26 +03:00
Anastasiya Shadrina
3f50b675b1
[Tests] Add irText tests
2021-12-02 20:24:25 +03:00
Alexander Udalov
be6409f0af
Fix property lookup in data class component generation
...
#KT-49812 Fixed
#KT-49936 Fixed
2021-12-02 01:43:39 +01:00
Alexander Udalov
2fbd2e2a15
Minor, move irText tests on data classes to a subdirectory
2021-12-02 01:43:39 +01:00
Denis.Zharkov
46217318c0
FIR: Load final static constant Java fields as non-nullable
2021-11-26 19:39:48 +03:00
Denis.Zharkov
883b18a0c6
FIR: Preserve non-custom attributes after substitution
...
The test is being fixed since synthetic call for elvis has @Exact-attribute on return type
2021-11-26 19:39:45 +03:00
Denis.Zharkov
c0b6a593e0
FIR: Fix incorrect type of block generated for inc operator
...
Previously, it was obtained from expected type of a variable being assigned,
but it's better to use the type of resulting expression
Initially this part was brought in 4ab0897d7d ,
but as we see in commit message and tests it was all about unit-coercion
2021-11-26 19:39:38 +03:00
Dmitriy Novozhilov
330574cab6
[FIR] Properly support smartcasts on stable when subjects in when conditions
...
^KT-49860 Fixed
2021-11-26 11:26:21 +03:00
Dmitry Petrov
88f41d006a
FIR2IR don't generate delegates for default interface members
2021-11-25 13:25:36 +03:00
Ivan Kochurkin
b83ed7a6ed
[FIR] Fix KtExpression.usedAsExpression for labeled expression
2021-11-24 23:13:37 +03:00
Dmitry Petrov
91b1814b02
FIR2IR insert implicit cast on elvis RHS
2021-11-24 16:19:11 +00:00
Dmitry Petrov
badfade2fd
FIR2IR strip FlexibleNullability on IMPLICIT_NOTNULL
2021-11-24 16:19:10 +00:00
Dmitry Petrov
2a263eca65
FIR2IR strip annotations from IrConst type
2021-11-23 06:34:03 +00:00
Dmitriy Novozhilov
9807c67ae4
[FIR] Properly collect overriddens for method enhancement
...
If some java class has multiple supertypes then we need to collect
overriddens from all those types directly, even if superTypeScope
(which is FirTypeIntersectionScope in this case) returns only
one symbol from one of this types (not intersection one)
This is needed to proper enhancement in cases when some type occurs
multiple times in supertypes graph with different nullability
of arguments:
class ConcurrentHashMap<K, V> : AbstractMap<K!, V!>, MutableMap<K, V>
If we try to find method `get(key: K): V` supertype scope returns
`AbstractMap.get(key: K!): V!` (because it actually overrides
`MutableMap(key: K): V?`), but we need to get both symbols to
properly enhance types for `ConcurrentHashMap.remove`
2021-11-22 17:01:17 +03:00
Ivan Kylchik
c7435ba760
Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
...
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Svyatoslav Scherbina
2f5706597a
IR: fix offsets in irTemporary
...
The variable generated by IrStatementBuilder.irTemporary doesn't inherit
startOffset and endOffset from the builder. In particular, as a result,
temporary variables generated for elvis operator left operand have
UNDEFINED_OFFSET.
Additionally, ProvisionalFunctionExpressionLowering copies the offsets
of a variable to lowered lambda in the variable initializer. With the
problem described above, this causes invalid debug information in
Kotlin/Native, see KT-49360.
Fix irTemporary by using builder's offsets for the variable.
^KT-49360 Fixed
2021-11-16 11:59:55 +00:00
Ivan Kochurkin
e52a410599
[FIR] Initialize outer type parameters for local classes
2021-11-12 15:20:42 +03:00
Mikhail Glukhikh
d6bc6bec59
FIR2IR: read extension function type attribute properly
2021-11-12 12:53:32 +03:00