Ilmir Usmanov
f95cba0ec3
Support delegation by interface for inline classes in FIR
...
#KT-27435 Fixed
2021-12-08 00:11:55 +01:00
Ilmir Usmanov
bb53ba4a2e
Enable delegation by interface for inline classes in old FE
...
#KT-27435
2021-12-08 00:11:54 +01:00
Igor Yakovlev
ea060dcf8a
[WASM] Implement lazy with UnsafeLazyImpl
2021-12-07 21:33:34 +03:00
Igor Yakovlev
4f9b54da26
[WASM] Remove ignore from wasm std text tests
2021-12-07 21:33:28 +03:00
Dmitry Petrov
100d7123c2
JVM_IR KT-50078 fix for-in-array loop bytecode shape
2021-12-07 17:41:59 +03:00
Leonid Startsev
767c570af4
Load default values for annotation members from classfiles
...
so that defaults are available to synthetic implementations.
#KT-48181 Fixed
Implementation is for JVM IR; other backends & FIR need to be supported
separately.
2021-12-07 10:10:04 +00:00
Victor Petukhov
ce2c6f5d1f
[FE 1.0] Don't mark type variable as READY_FOR_FIXATION_DECLARED_UPPER_BOUND_WITH_SELF_TYPES if it has complex dependency to other type variables
...
^KT-49838 Fixed
2021-12-07 11:41:13 +03:00
Victor Petukhov
61d40403e7
[FE 1.0] Create captured star projection for self types by replacing type arguments deeply
...
^KT-49752 Fixed
2021-12-07 11:38:45 +03:00
Mads Ager
529944fe9c
[JVM_IR] Fix inline class default method codegen.
...
Do not coroutine transform static inline class replacements that
forward to a default interface suspend method. No boxing has to
take place on return (as the default interface method always
boxes) so we can simply forward the call.
^KT-49645 Fixed
2021-12-06 17:29:59 +01:00
Mikhail Glukhikh
fa8441fb23
FIR2IR: insert implicit not-null casts in delegated calls
2021-12-06 18:07:18 +03:00
Dmitry Petrov
7206c06d26
IR KT-50039 don't initialize outer 'this' in delegating constructor
2021-12-06 17:31:37 +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
Mikhael Bogdanov
ea58c858d1
JvmDefault. Support @JvmDefaultWithCompatibility annotation
...
#KT-48217 Fixed
2021-12-06 14:20:24 +01:00
Anastasiya Shadrina
4d3035e2f7
[Parser] Do not support local contextual declarations
2021-12-03 20:22:17 +03:00
Mikhael Bogdanov
c0ffbe03c6
Remove '-Xjvm-default-allow-non-default-inheritance' flag. Enable such inheritance by default
...
#KT-47000 Fixed
2021-12-03 06:39:38 +01: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
08570a37b8
[PSI2IR] Check how contextual functional type works with IR
2021-12-02 20:24:56 +03:00
Anastasiya Shadrina
a760865767
[PSI2IR] Generate safe calls correctly
2021-12-02 20:24:54 +03:00
Anastasiya Shadrina
4d0eb74d79
[Tests] Make sure desugaring works with context receivers
2021-12-02 20:24:52 +03:00
Anastasiya Shadrina
bd4e51f304
[FE, PSI2IR] Pass context receivers when calling typealias constructor
2021-12-02 20:24:50 +03:00
Anastasiya Shadrina
2e97e78e6a
[Tests] Add tests with default params and suspending contextual function
2021-12-02 20:24:48 +03:00
Anastasiya Shadrina
617af898b0
[FE, IR] Support deserialization
2021-12-02 20:24:37 +03:00
Anastasiya Shadrina
2fbfee3e11
[PSI2IR] Fix parameter initialization for constructors with CR
2021-12-02 20:24:36 +03:00
Anastasiya Shadrina
add2ca1d11
[Tests] Try structured concurrency with context receivers
2021-12-02 20:24:28 +03:00
Anastasiya Shadrina
6cd50bc438
[Tests] Add bytecodeListing tests
2021-12-02 20:24:26 +03:00
Anastasiya Shadrina
c148a12e4b
[IR] Fix functional type sample
2021-12-02 20:24:24 +03:00
Anastasiya Shadrina
a091b345a0
[FE] Provide overloadability for candidates with different CR
2021-12-02 20:24:19 +03:00
Anastasiya Shadrina
155e7b211b
[PSI2IR, IR] Support functional types and literals for IR
2021-12-02 20:24:17 +03:00
Anastasiya Shadrina
910660a083
[FE] Add language feature for context receivers
2021-12-02 20:24:16 +03:00
Anastasiya Shadrina
d8faa9686d
[Tests] Test samples from KEEP
2021-12-02 20:24:14 +03:00
Anastasiya Shadrina
403ec7a5b1
[BE] Mangle context receiver params
2021-12-02 20:24:09 +03:00
Anastasiya Shadrina
f9e6365461
[Tests] Make build green again
2021-12-02 20:24:07 +03:00
Anastasiya Shadrina
a2403c470f
[BE] Put context receivers before an extension receiver
2021-12-02 20:24:00 +03:00
Anastasiya Shadrina
875f4ea31c
[FE] Support local contextual declarations
2021-12-02 20:23:54 +03:00
Anastasiya Shadrina
daa54734e5
[PSI2IR] Pass context receiver values in PropertyLValue
2021-12-02 20:23:50 +03:00
Anastasiya Shadrina
766e6bca75
[PSI2IR] Generate value arguments for context receivers in getter/setter
2021-12-02 20:23:49 +03:00
Anastasiya Shadrina
837f3b98fa
[FE] Allow to infer generic property type from a context receiver type
2021-12-02 20:23:46 +03:00
Anastasiya Shadrina
1bcaeabd84
[PSI, FE, PSI2IR] Use labels for referencing specific receiver
2021-12-02 20:23:40 +03:00
Anastasiya Shadrina
aaabf5e1ca
[PSI2IR] Support context receivers on classes
2021-12-02 20:23:38 +03:00
Anastasiya Shadrina
307f318c9e
[PSI2IR] Generate IR for functions and calls with context receivers
2021-12-02 20:23:27 +03:00
Sergej Jaskiewicz
599f705842
[stdlib] Make @LowPriorityInOverloadResolution applicable to ctors
2021-12-02 12:39:40 +00:00
Ilmir Usmanov
b26a81435f
Do not add continuation parameter for super interface bridges
...
If there is superinterface (more specifically, fun interface) in one
file with default suspend function, we lower the function, adding
continuation parameter. Then, when we compile another file with a child,
we generate a bridge to the default suspend function, which is already
lowered. So, we do not need to add the continuation parameter.
If the child is in the same file, then we add continuation parameter
after we create a bridge, so, AddContinuationLowering can encounter
bridges to suspend default functions in superinterfaces with
continuation parameter only in multifile examples.
#KT-47549 Fixed
2021-12-02 10:09:22 +00: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
Mads Ager
d89680b30d
[FIR] Serialize annotations for type parameters properly
2021-12-01 18:25:06 +03:00
Anton Bannykh
9c4c798fe7
[JS IR] mute tests with wrong linkage
2021-12-01 16:50:16 +03:00
Sergej Jaskiewicz
e13b6b2a90
[JS IR] [runtime] Remove valueOf method from Long
...
This method was used for coercing `Long` values to JavaScript
`number`. However, it caused issues when `Long` values were
concatenated to a string (see KT-8666, KT-26706).
2021-12-01 12:36:34 +00:00
Dmitry Petrov
de3203ee48
JVM KT-49903 prohibit reordering of 'getstatic System.out'
2021-12-01 12:13:13 +03:00
Ilmir Usmanov
8e8a6e6108
Do not count receivers in default parameters mask
...
If we implement default function with default parameters in inline
class, the receivers will be added to parameter list
(see ac7538a269 ). But since they
are not present in source parameters, we should not count them when we
compute mask for default parameters.
#KT-49977 Fixed
2021-11-30 15:09:16 +00:00
Mads Ager
f220e4a5ed
[FIR] Fix a couple of issues in annotation serialization.
2021-11-30 18:00:00 +03:00
Mads Ager
09da67767e
[JVM_IR] Fix mangling of inline class inherited interface methods.
...
^KT-49864 Fixed
2021-11-30 03:33:56 +03:00