[FIR] introduce FirValueParameter.containingFunctionSymbol

^KT-55034 fixed
This commit is contained in:
Ilya Kirillov
2022-07-20 16:01:48 +02:00
parent c8e3103af9
commit 7781ad67d4
39 changed files with 175 additions and 76 deletions
@@ -394,6 +394,9 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
valueParameter.configure {
+symbol("FirValueParameterSymbol")
+field("defaultValue", expression, nullable = true)
+field("containingFunctionSymbol", functionSymbolType, "*").apply {
withBindThis = false
}
generateBooleanFields("crossinline", "noinline", "vararg")
}
@@ -66,6 +66,7 @@ val propertyBodyResolveStateType = type("fir.declarations", "FirPropertyBodyReso
val stubReferenceType = generatedType("references.impl", "FirStubReference", firType = true)
val firBasedSymbolType = type("fir.symbols", "FirBasedSymbol")
val functionSymbolType = type("fir.symbols.impl", "FirFunctionSymbol")
val backingFieldSymbolType = type("fir.symbols.impl", "FirBackingFieldSymbol")
val delegateFieldSymbolType = type("fir.symbols.impl", "FirDelegateFieldSymbol")
val classSymbolType = type("fir.symbols.impl", "FirClassSymbol")
@@ -27,9 +27,9 @@ fun Builder.collectImports(): List<String> {
ImportKind.Builder,
) + implementation.fullQualifiedName!! + usedTypes.mapNotNull { it.fullQualifiedName } + builderDsl + "kotlin.contracts.*"
is IntermediateBuilder -> {
val fqns = parents + allFields.mapNotNull { it.fullQualifiedName } + allFields.flatMap {
val fqns = parents + usedTypes.mapNotNull { it.fullQualifiedName } + allFields.mapNotNull { it.fullQualifiedName } + allFields.flatMap {
it.arguments.mapNotNull { it.fullQualifiedName }
} + (materializedElement?.fullQualifiedName ?: throw IllegalStateException(type)) + builderDsl
} + (materializedElement?.fullQualifiedName ?: throw IllegalStateException(type)) + builderDsl
fqns.filterRedundantImports(packageName, ImportKind.Builder)
}
}.sorted()