Mikhael Bogdanov
0997207c7c
Apply -Xjvm-default for specific modules only
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
2b30c1eb5d
[FE] Do not change original semantics in LabelResolver
2021-12-02 20:25:00 +03:00
Anastasiya Shadrina
bd4e51f304
[FE, PSI2IR] Pass context receivers when calling typealias constructor
2021-12-02 20:24:50 +03:00
Anastasiya Shadrina
3900c2a604
[FE] Store receiver labels differently
2021-12-02 20:24:46 +03:00
Anastasiya Shadrina
ac27fda965
[FE] Report ambiguity when label can refer to multiple receivers
2021-12-02 20:24:44 +03:00
Anastasiya Shadrina
7ab9b68ad5
[FE] Move type-related checks to TypeResolver
2021-12-02 20:24:41 +03:00
Anastasiya Shadrina
7494c0896b
[FE] Minor: refactor substituteFunctionLiteralDescriptor()
2021-12-02 20:24:40 +03:00
Anastasiya Shadrina
083e718efd
[FE] Protect resolution from context receivers calculations
2021-12-02 20:24:29 +03:00
Anastasiya Shadrina
b44da21f59
[FE] Handle context receivers in NewAbstractResolvedCall
2021-12-02 20:24:23 +03:00
Anastasiya Shadrina
1357f28be6
[FE] Create separate class for context receiver value
2021-12-02 20:24:21 +03:00
Anastasiya Shadrina
b3591e77be
[FE] Prohibit explicit @ContextFunctionTypeParams usage
2021-12-02 20:24:20 +03:00
Anastasiya Shadrina
910660a083
[FE] Add language feature for context receivers
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
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
af78ec7371
[PSI, FE] Review fixes
2021-12-02 20:24:04 +03:00
Anastasiya Shadrina
7fd5034cd6
[FE] Minor: fix typo
2021-12-02 20:24:01 +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
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
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
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
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
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
Kristoffer Andersen
39fee12f32
[IR/FE] BindingContext: Change USED_AS_EXPRESSION to Basic Slice
...
This commit changes the slice implementation used for
`USED_AS_EXPRESSION`.
Here is the problem as identified and mitigated by this commit:
Slices are key-value maps. They are not total over the domain of keys,
so "looking up" a key not in the slice is a valid operation, yielding
`null`.
A binding context is a collection of slices.
Binding contexts can be stacked as composite binding contexts to
e.g. facilitate scoped analyses. Looking up a key proceeds down the
stack, yielding the first non-null value, or `null` if no slice in the
stack of binding contexts contain that key.
A slice made by `createSimpleSetSlice` models a "set" of keys that can
be enlarged by inclusion: adding `(k, true)` to the slice indicates
`k` belongs to the set. `(k, false)` indicates non-membership.
However, looking up a key _not in_ the slice yields _false_, rather
than null.
Hence, simple set slices do not compose in composite binding traces.
This was encountered porting the expression evaluator to the IR
backend. PSI2IR uses `USED_AS_EXPRESSION` to generate expression body
functions properly. The frontend analysis of the fragment is layered
ontop of the binding context from the editor's analysis of the
underlying project being debugged, which contains speficially the
analysis results of inline functions called from the fragment.
2021-12-01 00:52:46 +01:00
Mikhail Glukhikh
7fe08d5a38
FE: fix some error messages (must have only -> must only have)
...
#KT-49609 Fixed
2021-11-28 11:32:10 +03:00
Mikhail Glukhikh
c15c7f7dc8
FE: fix visibility check in LazyImportScope #KT-23727 Fixed
2021-11-28 11:32:07 +03:00
Mikhail Glukhikh
4550999288
FE: use proper version in version requirement error message
...
#KT-48690 Fixed
2021-11-28 11:31:51 +03:00
Mikhail Glukhikh
2f1d415e4d
FE: report DECLARATION_CANT_BE_INLINED at 'inline' modifier
...
#KT-44022 Fixed
2021-11-28 11:31:51 +03:00
Vladimir Dolzhenko
0495ba2495
avoid unnecessary collection copying
2021-11-25 02:22:44 +03:00
Vladimir Dolzhenko
42837415f0
Use nameFilter if all descriptors have not calculated
...
#KT-49821 Fixed
2021-11-25 02:22:40 +03:00
Victor Petukhov
d48557ed53
[FE 1.0] Fix containing KtFile check in NewResolutionOldInference.kt
2021-11-22 17:01:49 +03:00
Victor Petukhov
31668ed40d
[FE 1.0] Fix containing KtFile check in PSICallResolver.kt
2021-11-22 14:00:13 +03:00
Victor Petukhov
42805db989
[FE 1.0] Take into account import aliases during hidden member resolution
2021-11-22 10:43:43 +03:00
Alexander Udalov
59c5dddc88
Remove unused PrecomputedSuppressCache
2021-11-18 23:17:34 +01:00
Dmitriy Novozhilov
da02d25278
[FE 1.0] Implement deprecation warning for private constructors of sealed classes
...
^KT-44866
^KT-49729 Fixed
2021-11-18 13:54:05 +03:00
Dmitriy Novozhilov
93378b1a04
[FE 1.0] Resolve private constructors of sealed classes same as for regular classes
...
^KT-44866
^KT-49729
2021-11-18 13:54:05 +03:00
Dmitriy Novozhilov
62b774b2e3
[FE 1.0] Properly report INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
...
^KT-38895
2021-11-16 13:29:12 +03:00
Igor Yakovlev
ee7f4c7278
[WASM] Implementation typeOf support
2021-11-15 19:53:48 +03:00
zhelenskiy
c1dc1f7e33
Diagnostics renamed
...
Signed-off-by: zhelenskiy <zhelenskiy2000@yandex.ru >
2021-11-13 12:38:45 +01:00