Anastasiya Shadrina
369c86ebb0
[FE] Fix contextual functional types rendering
2021-12-02 20:24:16 +03:00
Anastasiya Shadrina
7fce2691e2
[FE] Allow lambda argument cast to contextual functional type
2021-12-02 20:24:15 +03:00
Anastasiya Shadrina
d8faa9686d
[Tests] Test samples from KEEP
2021-12-02 20:24:14 +03:00
Anastasiya Shadrina
b0a7be72e8
[Tests] Add missing and fix incorrect
2021-12-02 20:24:13 +03:00
Anastasiya Shadrina
f92ac6ca14
[FE] TowerResolver optimizations
2021-12-02 20:24:12 +03:00
Anastasiya Shadrina
16b976f0e0
[FE] Support functional literals with context receivers
2021-12-02 20:24:11 +03:00
Anastasiya Shadrina
e3f987459c
[PSI, FE] Support functional types
2021-12-02 20:24:11 +03:00
Anastasiya Shadrina
e53cee77a3
[FE] Support multiple candidates for extension receiver
2021-12-02 20:24:10 +03:00
Anastasiya Shadrina
403ec7a5b1
[BE] Mangle context receiver params
2021-12-02 20:24:09 +03:00
Anastasiya Shadrina
bafd084094
[Tests] Check Java interop
2021-12-02 20:24:08 +03:00
Anastasiya Shadrina
f9e6365461
[Tests] Make build green again
2021-12-02 20:24:07 +03:00
Anastasiya Shadrina
8ec418e90f
[PSI2IR] Generate delegating constructor call correctly
2021-12-02 20:24:06 +03:00
Anastasiya Shadrina
af78ec7371
[PSI, FE] Review fixes
2021-12-02 20:24:04 +03:00
Anastasiya Shadrina
f427265739
[FE] Resolve overload conflict between contextual and non-contextual declarations
2021-12-02 20:24:03 +03:00
Anastasiya Shadrina
7fd5034cd6
[FE] Minor: fix typo
2021-12-02 20:24:01 +03:00
Anastasiya Shadrina
2d743a2455
[FE] Add case with ambiguous generic call
2021-12-02 20:24:01 +03:00
Anastasiya Shadrina
a2403c470f
[BE] Put context receivers before an extension receiver
2021-12-02 20:24:00 +03:00
Anastasiya Shadrina
814777ba8c
[FE] Report ambiguity in all possible cases
2021-12-02 20:23:58 +03:00
Anastasiya Shadrina
37495bcba0
[FE] Change resolution scheme
2021-12-02 20:23:57 +03:00
Anastasiya Shadrina
1f6746dc74
[FE] Relax the "no subtyping between context receivers" limitation
2021-12-02 20:23:56 +03:00
Anastasiya Shadrina
bfd20e1890
[FE] Move context receivers checks to the separate resolution part
2021-12-02 20:23:56 +03:00
Anastasiya Shadrina
37a981cc29
[Tests] Add missing tests
2021-12-02 20:23:55 +03:00
Anastasiya Shadrina
875f4ea31c
[FE] Support local contextual declarations
2021-12-02 20:23:54 +03:00
Anastasiya Shadrina
43d11c7c4b
[K/N] Fix K/N Sanity test
2021-12-02 20:23:53 +03:00
Anastasiya Shadrina
1a0aab4a44
[FE] Inline classes cannot have context receivers
2021-12-02 20:23:52 +03:00
Anastasiya Shadrina
d704862582
[FE] Prohibit property initializers with context receivers
2021-12-02 20:23:51 +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
5e426d5c16
[Parser] Continue parsing if context receiver is not parsed correctly
2021-12-02 20:23:48 +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
dcb3fc5508
[Tests] Add missing tests
2021-12-02 20:23:43 +03:00
Anastasiya Shadrina
08e68e1887
[PSI] Fix parse tree node
2021-12-02 20:23:42 +03:00
Anastasiya Shadrina
3de1566f11
[Compiler plugins] Fix usage of descriptor API
2021-12-02 20:23:41 +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
Anastasiya Shadrina
f4ddf66ac4
[FE] Support context receivers on classes
2021-12-02 20:23:25 +03:00
Anastasiya Shadrina
c34fe8d547
[FE] Implement temporary resolution algorithm
2021-12-02 20:23:24 +03:00
Anastasiya Shadrina
d923c95671
[FE] Add context receivers to scope
2021-12-02 20:23:22 +03:00
Anastasiya Shadrina
c5687e080d
[FE] Pass context receiver parameters where necessary
2021-12-02 20:23:18 +03:00
Anastasiya Shadrina
a39fbd3822
[FE] Add getContextReceivers to CallableDescriptor interface
2021-12-02 20:23:17 +03:00
Anastasiya Shadrina
7de8380ddf
[FE] Add context receivers getter to KtCallableDeclaration interface
2021-12-02 20:23:16 +03:00
Anastasiya Shadrina
d1fdc4d787
[PSI] Introduce "context" soft keyword and parse context receivers
2021-12-02 20:23:11 +03:00
soywiz
f6298ed1d5
Explain how to use -dev and -SNAPSHOT versions
2021-12-02 18:23:16 +03:00
Sergej Jaskiewicz
86cabf3bb7
[JS IR] Use Uint16Array as CharArray's storage
2021-12-02 12:39:41 +00:00
Sergej Jaskiewicz
67dfe7bed1
[JS IR] Make Char a value class (again)
...
#KT-35100 Fixed
2021-12-02 12:39:40 +00:00
Sergej Jaskiewicz
599f705842
[stdlib] Make @LowPriorityInOverloadResolution applicable to ctors
2021-12-02 12:39:40 +00:00
Yahor Berdnikau
2aa1c187d9
Revert "Set minimal supported Gradle version to 6.7.1."
...
Temporary until 1.6.20 release branching.
This reverts commit 4c3404888a .
^KT-49733 Open
2021-12-02 15:05:54 +03:00
Alexander Korepanov
2ae10f4378
[JS IR] Optimize equals call for inline class instances.
...
Remove implicit boxing of inline class instances in equals call.
2021-12-02 11:00:02 +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