[FIR] Create intersection overrides for fields in intersection type scope

^KT-56820 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-03-01 13:16:00 +02:00
committed by Space Team
parent 4e56079c59
commit 8c6d4a6f4b
13 changed files with 325 additions and 70 deletions
@@ -101,12 +101,6 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
withCopy()
}
builder(field) {
parents += declarationBuilder
default("resolvePhase", "FirResolvePhase.DECLARATIONS")
openBuilder()
}
builder(anonymousObject) {
parents += declarationBuilder
parents += classBuilder
@@ -223,8 +217,13 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
parents += callBuilder
}
builder(property) {
val variableBuilder by builder {
fields from variable without listOf("symbol", "typeParameters", "isVal")
parents += declarationBuilder
}
builder(property) {
parents += variableBuilder
parents += typeParametersOwnerBuilder
defaultNull("getter", "setter", "containerSource", "delegateFieldSymbol")
default("resolvePhase", "FirResolvePhase.RAW_FIR")
@@ -232,6 +231,12 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
withCopy()
}
builder(field) {
parents += variableBuilder
default("resolvePhase", "FirResolvePhase.DECLARATIONS")
openBuilder()
}
builder(typeOperatorCall) {
parents += callBuilder
default("argumentList") {