[FIR] Resolve receiver in qualified expressions with no selector

In qualified expression like `foo().`, selector expression is null.
Because of that the whole expression was marked as an error FIR
expression, and `foo()` part was not resolved at all (including
arguments and everything else).

This commit fixes the problem by providing receiver's FIR expression
as an underlying expression for error FIR expression. That way
it will be seen by all resolve transformers and will be successfully
resolved.

^KTIJ-21484 Fixed
This commit is contained in:
Roman Golyshev
2022-04-11 14:54:17 +04:00
committed by Space
parent 3b53d8694f
commit 32fa2fc476
20 changed files with 169 additions and 20 deletions
@@ -0,0 +1,11 @@
enum class E {
A,
B,
C
}
fun foo() {
val e = <!NO_COMPANION_OBJECT!>E<!>.<!SYNTAX!><!>
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
enum class E {
A,
B,