[FIR] Refactoring: create use-site scopes via scope provider

This commit is contained in:
Simon Ogorodnik
2019-12-19 01:31:12 +03:00
committed by Mikhail Glukhikh
parent 5f08fe88a5
commit 1715f1a864
64 changed files with 536 additions and 296 deletions
@@ -76,4 +76,6 @@ object FieldSets {
val visibility = field(visibilityType)
val modality = field(modalityType, nullable = true)
val scopeProvider = field("scopeProvider", firScopeProviderType)
}
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.tree.generator.FieldSets.modality
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.name
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.receivers
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.returnTypeRef
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.scopeProvider
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.status
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.superTypeRefs
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.symbol
@@ -216,6 +217,7 @@ object NodeConfigurator : AbstractFieldConfigurator() {
+superTypeRefs(withReplace = true)
+declarations
+annotations
+scopeProvider
}
regularClass.configure {
@@ -60,7 +60,10 @@ val delegateFieldSymbolType = type("fir.symbols.impl", "FirDelegateFieldSymbol")
val classSymbolType = type("fir.symbols.impl", "FirClassSymbol")
val typeParameterSymbolType = type("fir.symbols.impl", "FirTypeParameterSymbol")
val firScopeProviderType = type("fir.scopes", "FirScopeProvider")
val pureAbstractElementType = generatedType("FirPureAbstractElement")
val effectDeclarationType = type("fir.contracts.description", "ConeEffectDeclaration")
val emptyContractDescriptionType = generatedType("contracts.impl", "FirEmptyContractDescription")
val firDiagnosticType = generatedType("diagnostics", "FirDiagnostic")
val firDiagnosticType = generatedType("diagnostics", "FirDiagnostic")