[FIR] Fix NO_RECEIVER_ALLOWED

If we do create an implicit invoke call, and
then put the receiver into the argument list,
we should mark it.
This commit is contained in:
Nikolay Lunyak
2024-01-22 12:34:39 +02:00
committed by Space Team
parent eb11901d43
commit 9b786d35f8
12 changed files with 38 additions and 9 deletions
@@ -227,7 +227,10 @@ object BuilderConfigurator : AbstractFirBuilderConfigurator<FirTreeBuilder>(FirT
}
}
builder(integerLiteralOperatorCall, config = configurationForFunctionCallBuilder)
builder(implicitInvokeCall, config = configurationForFunctionCallBuilder)
builder(implicitInvokeCall) {
configurationForFunctionCallBuilder()
defaultFalse("isCallWithExplicitReceiver")
}
builder(getClassCall) {
parents += callBuilder
@@ -408,6 +408,10 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
shouldBeAnInterface()
}
implicitInvokeCall.configure {
+booleanField("isCallWithExplicitReceiver")
}
constructor.configure {
+annotations
+symbol("FirConstructorSymbol")