FIR: handle labeled super reference properly

This commit is contained in:
Jinseong Jeon
2020-04-30 23:37:37 -07:00
committed by Mikhail Glukhikh
parent 260683c20e
commit 7b01cf7b04
32 changed files with 141 additions and 299 deletions
@@ -105,7 +105,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
impl(delegatedConstructorCall) {
default(
"calleeReference",
"if (isThis) FirExplicitThisReference(source, null) else FirExplicitSuperReference(source, constructedTypeRef)"
"if (isThis) FirExplicitThisReference(source, null) else FirExplicitSuperReference(source, null, constructedTypeRef)"
)
default("isSuper") {
value = "!isThis"
@@ -521,6 +521,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
}
superReference.configure {
+stringField("labelName", nullable = true)
+field("superTypeRef", typeRef, withReplace = true)
}